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