Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $watch over对象动态创建的新属性_Javascript_Angularjs - Fatal编程技术网

Javascript $watch over对象动态创建的新属性

Javascript $watch over对象动态创建的新属性,javascript,angularjs,Javascript,Angularjs,我的angularjs控制器上有一个属性,在我的应用程序中,该属性被修改为具有不同的属性,但该属性是动态创建的。我需要在每个动态创建的属性上添加一个$watch,但我不知道怎么做 在控制器上创建的属性如下所示: function FilterContentController($rootScope, $scope, filterOptions, $state, $stateParams, dataService) { var self = this;

我的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);
            }
        };
pushFilter
currentMobileFilters
对象上添加一个新属性,如果该对象不存在参数
类别的名称
,然后将参数
值推送到数组上。
我需要做的是跟踪在
CurrentMobileFilter
上创建的每个属性在数组中的更改


这可能吗?

angular$watch方法接受第三个参数作为相等手表的类型。请参阅$watch部分下的文档

angular$watch方法接受第三个参数作为相等手表的类型。请参阅$watch部分下的文档

谢谢你提供的信息。。这就是解决方案,将第三个参数添加为
true
谢谢您提供的信息。。这就是解决方案,将第三个参数添加为
true