AngularJS – $watch一个对象
我想监视字典中的更改,但由于某些原因没有调用watch回调。 这里是我使用的控制器: function MyController($scope) { $scope.form = { name: 'my name',surname: 'surname' } $scope.$watch('form',function(newVal,oldVal){ console.log('changed'); }); } 这里是小提琴:http://jsfiddle.net/Y8ByG/ 我期望$ watch回调被触发每次名称或姓氏改变,但它不会发生。 什么是正确的方法呢? 调用$ watch,使用true作为第三个参数: $scope.$watch('form',oldVal){ console.log('changed'); },true); 默认情况下,当在JavaScript中比较两个复杂对象时,将检查它们是否为“引用”相等,这将询问这两个对象是否引用相同的事物,而不是“值”相等,检查那些属性的值对象是相等的。 按Angular documentation,第三个参数是objectEquality:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |