<div ng-repeat="campaign in campaigns">
<div progressbar="value"></div>
</div>
每个广告系列都有自己独特的属性,名为&#34;%&#34;我希望该指令能够访问。
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 ***
})
}
}
})
我有一种感觉,我正在严厉地过度思考这个。任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
您应该更改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
之外的其他一些属性。