<div ng-repeat="campaign in campaigns">
<div progressbar="value"></div>
</div>
每个广告系列都有自己独特的属性,称为“百分比”,我希望指令能够访问该属性。
myApp.directive('progressbar', function(){
return {
restrict: 'A',
scope: {
'progress': '=progressbar'
},
controller: function($scope, $element, $attrs) {
$element.progressbar({
value: *** I want this to refer to the correct campaign.percent ***
})
}
}
})
我有一种感觉,我在这个问题上想得太多了。任何帮助将不胜感激。谢谢!
最佳答案
您应该更改 HTML 才能传递当前的 campaign
指令对象:
<div ng-repeat="campaign in campaigns">
<div progressbar="campaign"></div>
</div>
然后在指令中您将能够访问事件对象 $scope.progress
:
controller: function($scope, $element, $attrs) {
$element.progressbar({
value: $scope.progress.percent
});
}
当然可以传入percent
值直接为 <div progressbar="campaign.percent"></div>
但我认为提供完整的事件对象是有意义的,以防您需要 percent
之外的其他属性。 .
关于javascript - Angular 指令需要访问 ng-repeat 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663188/