Vuejs2 如果计算属性为';s未绑定到组件';s数据

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返回一个具有多个属性的对象。 现在的

我有一个组件,它有一个计算属性,该属性从Vuex存储中获取其值,如下所示:

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中调用变异的操作并设置它们。计算结果将自动更新。谢谢成功了。