gpt4 book ai didi

javascript - 观察 AngularJS 服务中的数组变化

转载 作者:行者123 更新时间:2023-11-28 08:10:12 26 4
gpt4 key购买 nike

我有一个服务对象,它公开一个数组,我想监视该数组(在服务内)的更改,然后调用一个方法。

通过观察 $scope 上数组的变化,这在 Controller 内部是微不足道的,但是如何在服务中完成同样的事情呢?该服务在多个 Controller 中共享,我不想在很多地方实现该逻辑。

我尝试过使用 Polymer 的 ArrayObserver,但它似乎不适用于 Angular。

有人有什么建议吗?谢谢

最佳答案

您可以在$rootScope上添加 watch ,即:

.service("mySvc", function($rootScope,...) {
var myArray = ...
...
$rootScope.$watchCollection(
function() {
return myArray;
},
function(newval) {
...
}
);

但是,当(如果)不再需要 watch 时,您必须格外小心地取消注册 watch 。

关于javascript - 观察 AngularJS 服务中的数组变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24302542/

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