当我写指令并观察某些属性时。我怎么能提到变化是来自外部还是我做了改变。
例如:
.directive('amInput',function(){
return {
scope:{
selectAll:'='
},
link: function(scope, element, attr ){
scope.$watch('selectAll', function (nv, ol) {
doSomthing();
});
// after some code run
doSomthing();
scope.selectAll = true;
}
}
})
所以在示例中有一些附加内容,我运行doSomthing()
并将标志更新为true。在下一个循环中,角度识别标志已更改并再次运行doSomthing()
!
我如何防止这种情况?