gpt4 book ai didi

javascript - Angular $watchCollection 回调不捕获对象中的更改

转载 作者:行者123 更新时间:2023-12-02 18:12:51 25 4
gpt4 key购买 nike

我使用三个输入复选框和 ngModel 指令来绑定(bind)到名为“props”的对象的属性。

我正在使用 $scope.$watchCollection 设置对“props”的所有属性(共有三个)的监视。

在我的 $watchCollection 回调函数中,我需要将旧属性值与新属性值进行比较,但在函数内,新旧属性始终相同!

这是一个工作示例:http://jsbin.com/eYofakU/3/edit 。这是怎么回事?

这使用 Angular 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);

关于javascript - Angular $watchCollection 回调不捕获对象中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19569121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com