我一开始就处于空状态
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-dev-tools进行调试时,组件计算属性具有数据。每当数据通过vuex中的突变而更改时,该数据也将反映在计算出的属性中。
现在我像这样向其添加观察者
watch: {
getComboBoxNewValues:{
handler: function(to, from) {
console.log("reload");
},
deep: true
}
}
问题在于,无论数据在计算属性中发生了多少次更改,都永远不会调用它。请就我所缺少的提供建议。