我有以下代码:
变量声明:
$scope.updateUploadView =
{
ready:{
inview:false,
text: "starting"
},
uploading:{
inview:false,
text: "uploading"
},
done:{
inview:false,
text: "done !"
}
};
$ watch :
angular.forEach($scope.updateUploadView, function(element, key) {
$scope.$watch(function () {
return element;
}, function() {
// do stuff
});
},true);
});
这里的问题是我想忽略 $watch 在未定义的属性上触发,因为它会导致 View 在应用程序启动时更改 3 次。是否有可能等待变量声明?
最佳答案
只需检查 watch 函数中是否存在未定义即可。
$scope.$watch(function () {
return element;
}, function(newValue, oldValue) {
if(!angular.isDefined(newValue) && angular.isDefined(oldValue)) {
// do stuff
}
});
关于javascript - AngularJS $watch,等待变量声明触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35213207/