gpt4 book ai didi

javascript - 动态更改 Controller 中的 watch

转载 作者:行者123 更新时间:2023-12-03 11:52:56 25 4
gpt4 key购买 nike

我的 Controller 中有以下 watch 。

var pageFunc = $scope.$watch('page["USER"].number', function(newob,oldob){
console.log("WATCHING page");
if(oldob != newob){
//perform data load
}
},true);

我的收藏看起来像这样

 page["USER"].number = 20;
page["TESTER"].number = 60;
page["BORROWER"].number = 30;
page["CLIENT"].number = 80;

我需要一个 watch 来观察特定元素的所有这些集合更改。

我已经尝试过类似的事情。

       $scope.$watch('page[" '+$scope.selectedType+'"].number', function(newob,oldob)

其中 $scope.selectedType 在 ng-init 中设置。

但是由于 watch 在 ng-init 之前触发,因此失败。实现这一目标的最佳方法是什么?

最佳答案

您可以使用函数回调来观察其变化:

$scope.$watch(function() {
return page[$scope.selectedType].number;
}, function(newValue, oldValue) {
if(oldValue != newValue) {
// perform something
}
});

或者,如果 $scope.selectedType 是一个唯一值,那么我想您可以安全地监视它:

$scope.$watch('selectedType', function(newValue, oldValue) {
if(oldValue != newValue) {
// perform something
}
});

关于javascript - 动态更改 Controller 中的 watch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25734789/

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