javascript - Vue.js:监视对象的动态更改

标签 javascript vue.js

问题

监听子组件未检测到对对象的更改。

上下文

我有一个空对象,用于存储从 API 返回的值。该对象绑定(bind)到子组件中的属性。

data () {
  return {
    filterOperators: {}
  };
},

每次调用此方法时,都会将包含响应的命名数组添加到对象中。

getfilterOperators: function (fieldName) {
  this.filterOperatorsAction(fieldName, response => {
    this.$data.filterOperators[fieldName] = response.Data;
  });
}

最佳答案

在 VueJS 中,添加到对象的属性不是 react 性的。您需要使用 vm.$set 方法使它们具有反应性:

getfilterOperators: function (fieldName) {
  this.filterOperatorsAction(fieldName, response => {
    this.$set(this.filterOperators,fieldName,response.data);
  });
}

您可以在此页面上阅读更多信息:Reactivity in Depth

关于javascript - Vue.js:监视对象的动态更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40388005/

相关文章:

vue.js - 在 vue3 中通过 props 传递的组件

https - 如何使用 https 运行 Vue.js 开发服务?

css - Vuetify v-select 组件宽度改变

javascript - 像 iframe 一样绝对定位

javascript - vuejs 如何知道用于缓存的计算属性的依赖关系?

javascript - 时间线JS透明背景

javascript - 数组中每个元素的函数无法正常工作

javascript - 如何在 select 中添加条件? (Vue.JS 2)

javascript - plotly : I want to include some pattern in the bars of a bar chart

javascript - 处理 200 多个存储在状态中的复选框