在 Vuex 中使用带有 mapState、mapMutation 的 get/set Computed 属性

Posted

技术标签:

【中文标题】在 Vuex 中使用带有 mapState、mapMutation 的 get/set Computed 属性【英文标题】:Using get/set Computed property with mapState, mapMutation in Vuex 【发布时间】:2019-02-23 08:44:52 【问题描述】:

我使用名为main 的 Vuex 模块具有以下计算属性:

computed: 
  foo: 
    get()
      return this.$store.state.main.foo;
    ,
    set(value) 
      this.$store.commit("main/foo", value);
    
  

我想使用get/set 模式,因为我想使用v-model="foo"。必须直接与$store 交谈非常冗长。有没有更简单的方法使用mapStatemapMutation 甚至createNamespacedHelpers

【问题讨论】:

【参考方案1】:

我建议您尝试 vuex-map-fields 模块,该模块包含一个 mapFieldshelper 方法,可帮助您动态设置 getter 和 setter。

【讨论】:

以上是关于在 Vuex 中使用带有 mapState、mapMutation 的 get/set Computed 属性的主要内容,如果未能解决你的问题,请参考以下文章

使用 vuex 时如何在 typescript 语法中使用 mapState 函数?

Vuex mapState的基本使用

在 Vuex 4 和 Vue 3 中使用 `mapActions` 或 `mapGetters`

vuex里mapState,mapGetters使用详解

如何在 ...mapState (Vuex) 之间设置一个值

Vuex中mapState的用法