Vuejs2 如果计算属性为';s未绑定到组件';s数据
我有一个组件,它有一个计算属性,该属性从Vuex存储中获取其值,如下所示:Vuejs2 如果计算属性为';s未绑定到组件';s数据,vuejs2,vuex,Vuejs2,Vuex,我有一个组件,它有一个计算属性,该属性从Vuex存储中获取其值,如下所示: computed: { details () { return this.$store.getters.getDetails } } methods: { someMethod () { // here I need to update props of 'details' object, but how? } } getDetails getter返回一个具有多个属性的对象。 现在的
computed: {
details () {
return this.$store.getters.getDetails
}
}
methods: {
someMethod () {
// here I need to update props of 'details' object, but how?
}
}
getDetails getter返回一个具有多个属性的对象。
现在的问题是,如何在定义的组件中更新“details”对象的属性?
如果是通过UI,那么可以通过v-model完成。但这需要通过组件的方法来完成。例如:
computed: {
details () {
return this.$store.getters.getDetails
}
}
methods: {
someMethod () {
// here I need to update props of 'details' object, but how?
}
}
因为您使用的是Vuex,所以请在商店中使用 假设您的
详细信息对象如下所示:
details: { foo: 1, bar: 2 }
然后添加一个变体,用于修改状态中的详细信息
对象(我使用了和
,因为我不知道您是只想修改详细信息
的属性,还是真的想为其分配一个新对象):
然后在组件中:
// ...
methods: {
// ...
updateDetails(key, val) {
this.$store.commit('UPDATE_DETAILS', { key, val });
},
replaceDetails(obj) {
this.$store.commit('UPDATE_DETAILS', obj);
}
}
更新:我所说的基本上是对@Bert在评论中试图说的话的一个较长的解释 定义一个在Vuex中调用变异的操作并设置它们。计算结果将自动更新。谢谢成功了。