我有一个角度应用程序,它有一个控制器,其功能可以在变量的基础上监视变量;那是,
angular.module('myApp').controller('myController', function($scope, $rootScope) {
$rootScope.$watch('someVar', function() {
console.log($rootScope.someVar);
});
}
出于某种原因,如果我将$rootScope.someVar更改为“Hello”,我将得到以下控制台输出
> Hello
> Hello
> Hello
它为什么这样做?我正在编写一个解析大型数据文件的程序,如果我的性能提高三倍,我的生活会更快乐.
最佳答案 如果手表的副作用导致变量更改,则会再次调用手表,直到所有更改都得到解决.
因此,如果导致手表被触发的动作(更改someVar的动作)导致其他动作也会更新someVar,那么可以有一个级联(在角度足够之前最多10次?)