[英]AngularJS: what is the execution order of $watch?
我有一個手表功能:
scope.$watch('target', function(){
scope.hasUnsavedChanges = true;
}, true);
然后我改變了一些值:
functiion change(target){
scope.hasUnsavedChanges = false;
scope.target.Xxx = '';
console.log('scope.hasUnsavedChanges = ' + scope.hasUnsavedChanges);
}
它輸出錯誤。 那么當watch函數執行時? 如何在scope.hasUnsavedChanges在上面的代碼中變為true后運行一些代碼?
$watch
函數在每次$scope.$digests()
之后執行$scope.$digests()
函數被調用。
如果你想在hasUnsavedChanges
類的變量變為true之后執行代碼。 將它變為函數並執行其中的所有代碼是不是更有意義:
scope.setUnsavedChanges = function(){
scope.hasUnsavedChanges = true;
//the rest of your code goes here
}
scope.$watch('target', function(){
scope.setUnsavedChanges();
}, true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.