javascript - $监视动态创建的对象新属性

标签 javascript angularjs

我的 angularjs Controller 上有一个属性,在我的应用程序中该属性被修改为具有不同的属性,但该属性是动态创建的。我需要在每个动态创建的属性上添加 $watch,但我不知道该怎么做。

该属性是在 Controller 上创建的,如下所示:

function FilterContentController($rootScope, $scope, filterOptions, $state, $stateParams, dataService) {
            var self = this;
            this.$scope = $scope;
            this.currentMobileFilters = {};
        }

然后我有一个方法pushFilter:

function (category, value) {
            var self = this;
            if (!self.currentMobileFilters[category]) {
                self.currentMobileFilters[category] = [];
            }
            if (self.isSelectedMobileFilterValue(category, value)) {
                // Remove
                self.currentMobileFilters[category] = _.without(self.currentMobileFilters[category], value);
            } else {
                // Add
                self.currentMobileFilters[category].push(value);
            }
        };

如果 currentMobileFilters 对象不存在且参数名称为 category,则 pushFilter 会在 currentMobileFilters 对象上添加一个新属性,然后推送过来参数的数组。 我需要做的是跟踪在 currentMobileFilters 上创建的每个属性的数组更改。

这可能吗?

最佳答案

Angular $watch 方法接受相等监视类型的第三个参数。请参阅文档 here在 $watch 部分下。

关于javascript - $监视动态创建的对象新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006052/

相关文章:

javascript - Angular ng-include 问题

angularjs - AngularJS 中下拉值的时间

javascript - Grails 下 AngularJS 应用程序中部分 html 的正确路径是什么

javascript - 如何在 RequireJS 中加载自定义命名模块

javascript - 在完全加载页面之前,加载栏隐藏在jsf中

javascript - 在 TAG 中带有 CSS 的 Angularjs Html

html - 当用户点击展开所有分组 ui 网格时拦截

javascript - 处理this关键字

php - 表单困难时的多个提交按钮

javascript - Angular2 : *ngFor, AsyncPipe 和索引