我有一个代码片段:
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
这是正确的行为吗?当然,我可以检查值是否相等,但是诸如行为之类的原因是什么?
PS您可以在线尝试此示例:http: //jsbin.com/otakaw/7/edit