gpt4 book ai didi

angularjs watchcollection 以前的值

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

更新

此问题已在 1.3.0 beta 中得到解决:请参阅commit

<小时/>

我有一个数组,我想监听更改并将新值与旧值进行比较。 $watchCollection (http://docs.angularjs.org/api/ng.$ro​​otScope.Scope) 的文档说回调需要三个参数,第一个是新集合,第二个是前一个集合的副本值(value)。似乎相同的数组被传递给两个参数,而不是新值和旧值。

在此example ,无论我将值插入数组、将变量设置为新数组还是编辑数组的元素,都会将相同的数组传递给新值和以前的值。所有 3 个示例都会触发监视监听器,但没有一个示例在回调中包含以前的值。

我可以用这个 example 得到我想要的结果。它使用 $watch(obj,listener,equality) 方法,并将 true 作为第三个参数。 $watchCollection 不应该也提供这个功能吗?

$scope.$watchCollection("arr", function(newVal, oldVal) {
//here, oldVal should contain a copy of the former value,
//but it is the same as newVal
});

最佳答案

编辑:对之前的回答感到抱歉。

但这似乎是 AngularJs 存储库中的一个未决问题,具有完全相同的问题。

https://github.com/angular/angular.js/issues/2621

祝你好运。

关于angularjs watchcollection 以前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534493/

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