$ watch over object动态创建的新属性

时间:2016-05-03 13:47:17

标签: javascript angularjs

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

该属性在控制器上创建,如下所示:

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);
            }
        };

pushFiltercurrentMobileFilters对象上添加一个新属性,如果不存在参数category的名称,然后将参数value推到数组上。 我需要做的是跟踪在currentMobileFilters上创建的每个属性的数组的更改。

这可能吗?

1 个答案:

答案 0 :(得分:3)

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