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
増加しますが、時計は起動しません。