Javascript Angular$watchCollection回调未捕获对象中的更改

Javascript Angular$watchCollection回调未捕获对象中的更改,javascript,angularjs,Javascript,Angularjs,我使用三个带有ngModel指令的输入复选框来绑定一个名为“props”的对象的属性 我正在使用$scope.$watchCollection在“道具”的所有属性上设置一个手表(共有三个) 在我的$watchCollection回调函数中,我需要将旧属性值与新属性值进行比较,但在该函数中,旧属性和新属性总是相同的 下面是一个工作示例:。这是怎么回事 这使用角度1.2.0-rc.3 谢谢 这对我很有用。我将$watchCollection更改为$watch,并将第三个参数设置为true,告知ang

我使用三个带有ngModel指令的输入复选框来绑定一个名为“props”的对象的属性

我正在使用$scope.$watchCollection在“道具”的所有属性上设置一个手表(共有三个)

在我的$watchCollection回调函数中,我需要将旧属性值与新属性值进行比较,但在该函数中,旧属性和新属性总是相同的

下面是一个工作示例:。这是怎么回事

这使用角度1.2.0-rc.3


谢谢

这对我很有用。我将
$watchCollection
更改为
$watch
,并将第三个参数设置为true,告知angular创建被监视对象的深度副本以进行比较:

$scope.$watch("props",function(n,o){
    console.log("NEW");
    console.log(n);
    console.log("OLD");
    console.log(o);
    console.log("Why are they the same?!");
},true);

编辑这是我,从1.2.15版开始,它现在应该可以工作了

--旧答案--
还有,您可以选择使用@CodeHater解决方案或尝试(您需要构建angular js文件)

编辑:我尝试了github上报告的快速修复,它似乎有效,这是您在plnkr.co工作的示例 请注意,angular版本是v1.2.5-ca116c3,因为我今天(12月8日)从主分支构建了它。
编辑:13/01/14
该问题是里程碑1.2.9的一部分