Vue.js Vuex状态监视计算机不工作
我一开始是空的,就像这样Vue.js Vuex状态监视计算机不工作,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,我一开始是空的,就像这样 new Vuex.Store({ state: { comboBoxNewValues: {} }, 随着时间的推移,有些突变会改变这种状态 this.$store.commit('addComboBoxValues', { input: 'foo', value: ['value': 1, 'name': 'bar']}); 使用以下变异代码 mutations: { addComboBoxValues(state, _value) {
new Vuex.Store({
state: {
comboBoxNewValues: {}
},
随着时间的推移,有些突变会改变这种状态
this.$store.commit('addComboBoxValues', { input: 'foo', value: ['value': 1, 'name': 'bar']});
使用以下变异代码
mutations: {
addComboBoxValues(state, _value) {
state.comboBoxNewValues[_value.input] = _value['value'];
},
}
它工作得很好,突变也会改变状态,现在我想对状态的改变执行一些操作,所以在我的组件中,我添加了一个计算属性,如
computed: {
getComboBoxNewValues() {
return this.$store.state.comboBoxNewValues;
}
}
使用vue开发工具进行调试时,components computed属性包含数据。每当数据使用vuex中的变异进行更改时,该数据也会反映在计算属性中
现在我像这样添加了一个观察者
watch: {
getComboBoxNewValues:{
handler: function(to, from) {
console.log("reload");
},
deep: true
}
}
问题是,无论计算属性中的数据更改了多少次,都不会调用never。请说明我缺少的内容。您正在向非反应性对象添加新属性。使用
Vue.set(state.comboBoxNewValues、\u value.input、\u value.value)
感谢您的工作。你能再解释一下吗?明白吗