我有一个带有自定义指令的元素就是这样。
<div my-directive data-progress="0"></div>
my-directive如下。
return {
scope: {
progress: '@'
}
link: function($scope, $element, $attributes){
$scope.$watch('progress', function(newVal){
// do stuff with newVal
})
}
}
我遇到的问题是,当元素的数据进度被外部源(例如jQuery)更改时,它永远不会触发监视。我也试过使用$ attributes。$ observe但是没有被触发枯竭。这是一个自定义进度条指令,因此外部源将更新数据进度,我需要手表触发,以便我可以正确更新进度条。
答案 0 :(得分:0)
您需要使用observe,因为您将其指定为属性(通过使用@),
$attributes.$observe("progress", function(newVal){
});
这里有关于它的文档:https://docs.angularjs.org/api/ng/type/ $ compile.directive.Attributes#$ observe