角度范围$ watch没有监听器

时间:2015-03-02 19:04:43

标签: angularjs watch

我今天看到了一个代码注册观察者的代码如下:

scope.$watch(function() { //some code which is not relevant in current context });

Angular文档将$ watch方法指定为

$watch(watchExpression, listener, [objectEquality]);

那么没有听众的观察者的用法是什么

提前致谢

2 个答案:

答案 0 :(得分:4)

scope.$watch(function() {
    //some code which is not relevant in current context
});

是一种模式,可用于每个摘要运行一次代码。它相当于:

scope.$watch(function(){
}, undefined);

来自docs

  

如果您想在每次调用$ digest时收到通知,您可以   注册一个没有监听器的watchExpression函数。 (以来   当a表示每个$ digest周期时,watchExpression可以多次执行   检测到更改,准备好多次调用听众。)

答案 1 :(得分:0)

你不需要表达式你可以使用一个函数来返回要监视的var,而不是在字符串中指定它,例如:

$scope.myVar = true;

$scope.$watch(function() {
    return $scope.myVar
}, function(newValue, oldValue) {

});