我試圖在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
增量,但手錶不火。
使用setTimeout'的'只是在例子中使用。 '。$ apply()'是我在現實世界中所缺少的。謝謝! – 2013-03-27 17:12:49