Vue.js:监视对象的动态更改
Vue.js: Monitor Dynamic Changes To Object
问题
侦听子组件未检测到对对象的更改。
上下文
我有一个空对象,它存储从API返回的值。此对象绑定到子组件中的属性。
data () {
return {
filterOperators: {}
};
},
每次调用此方法时,都会向对象中添加一个包含响应的命名数组。
getfilterOperators: function (fieldName) {
this.filterOperatorsAction(fieldName, response => {
this.$data.filterOperators[fieldName] = response.Data;
});
}
在VueJS中,添加到对象的属性不是被动的。您需要使用vm.$set
方法使其具有反应性:
getfilterOperators: function (fieldName) {
this.filterOperatorsAction(fieldName, response => {
this.$set(this.filterOperators,fieldName,response.data);
});
}
您可以在此页面上阅读更多信息:深度反应性
对于Vue 1,它应该像这样构造,以允许Vue检测对象的更改:
this.$set('filterOperators.' + fieldName, response.data);
参考:深度反应性
相关文章:
- 使用推动创建动态对象
- 在主要的JavaScript引擎中,在JavaScript关联数组(动态对象属性)中检索/插入的复杂性是多少
- 从表单到 Ajax 的动态对象访问
- JavaScript node.js 中 pug (jade) 模板上的动态对象键
- 动态对象遍历与 NodeJS
- 在JS中创建动态对象
- jQuery param动态对象名称
- 访问动态对象:javascript/jquery
- JavaScript 动态对象范围
- 如何在 QML 中发生相同事件后创建/销毁动态对象
- 创建动态对象(作为函数(..))
- 如何在 JavaScript 中制作动态对象
- jQuery 事件绑定不适用于多个动态对象
- 将静态对象转换为动态对象
- 访问多个动态对象 jQuery
- Javascript - 类型不适用于动态对象
- Javascript-动态对象键(第二个键)
- 用javascript为数组创建动态对象
- JavaScript动态对象键ejs
- 在jQuery中的动态对象上使用.each