如果我有锚:
<a ng-href="{{model.getUrl(<?>)}}" data-network="twitter">test</a>以及返回字符串的作用域函数(它不运行于click事件):
$scope.model.getUrl = function(element){
// How can i get access to the data-network attribute
switch(element.dataNetwork){
case "twitter":
break;
}
}如何从这个自由运行的函数中访问数据网络属性?
注:
我之所以没有传递字符串,是因为数据网络需要存在于页面中发生的其他非角度和角度的事情。所以我想我应该劫持它并使用它,而不是重新定义一个字符串,这样就可以有角度了。
发布于 2018-02-21 11:31:07
我建议您创建一个A类型的指令,类似于setUrl
angular
.module('app', [])
.directive('setUrl', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
switch(attrs.network){
case "twitter":
break;
}
// If you need to set the ng-href you can use attrs.$set
attrs.$set('ng-href', '/your/path/');
}
}
});在HTML中:
<a set-url data-network="twitter">Twitter</a>发布于 2018-02-21 11:55:32
如果您对此模板有完全的控制,则应该有:
<a ng-href="{{model.getUrl(type)}}" data-network="{{type}}">test</a>并在控制器中定义type。
如果type不更改,则可以使用一次绑定:
<a ng-href="{{::model.getUrl(type)}}" data-network="{{::type}}">test</a>https://stackoverflow.com/questions/48904177
复制相似问题