我正在尝试在 AngularJS 中设置手表,但我显然做错了,但我无法弄清楚。手表在立即页面加载时触发,但是当我更改观察值时它不会触发。作为记录,我还在匿名函数上设置了监视以返回监视变量,但我得到了完全相同的结果。
我在下面搭建了一个最小的例子,在控制器中做所有事情。如果它有所作为,我的实际代码与指令挂钩,但两者都以同样的方式失败。我觉得我必须缺少一些基本的东西,但我只是看不到它。
HTML:
<div ng-app="testApp">
<div ng-controller="testCtrl">
</div>
</div>
JS:
var app = angular.module('testApp', []);
function testCtrl($scope) {
$scope.hello = 0;
var t = setTimeout( function() {
$scope.hello++;
console.log($scope.hello);
}, 5000);
$scope.$watch('hello', function() { console.log('watch!'); });
}
超时有效,hello
增加,但手表不触发。