8
期間觀看奇怪的行爲,我有一個代碼片段:
var app = angular.module('Demo', []);
app.controller('DemoCtrl', function ($scope) {
function notify(newValue, oldValue) {
console.log('%s => %s', oldValue, newValue);
}
$scope.$watch('collection.length', notify);
$scope.$watch('my', notify);
$scope.collection = [];
$scope.my = 'hello';
});
$watch
火災最初階段。這段代碼將輸出:
0 => 0
hello => hello
它是正確的行爲?當然,我可以檢查值的平等,但是什麼原因,如行爲?
P.S.你可以試試這個樣品在線:http://jsbin.com/otakaw/7/edit
[$ watch可能重複後直接觸發,爲什麼?](http://stackoverflow.com/questions/15875105/watch-is-triggered-directly-after-init-why) – Narretz
請參閱部分http://docs.angularjs.org/api/ng.$rootScope.Scope#$watch,你會發現你的答案 –
謝謝,真的有記錄。 – ValeriiVasin