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