vue.js - Vuex 状态监视计算不工作
问题描述
我一开始就有这样的空状态
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
}
}
问题是永远不会被调用,无论数据在计算属性中更改了多少次。请就我所缺少的提出建议。
解决方案
推荐阅读
- active-directory - 将用户从 LDAP AD 导入地理围栏
- eclipse - 目标/生成源/delombok 未添加为源文件夹
- flutter - 如何在 Flutter 的 StreamBuilder 中获取文档详细信息
- mysql - 最后查询结果
- azure - 每个 Azure 函数的单独 node.exe
- c# - C# xUnit 测试监听器
- jquery - 如何使用 jQuery 存储数据
- unity3d - Unity3d:如何为安卓设备录制没有音频的游戏视频
- vue.js - Vue js单页和带有标题问题的侧边栏
- ios - TextFieldShouldReturn 弄乱了选择器