Vuex中mapGetters传入字符串加数组的混合语法是什么含义?
mapGetters双参数语法的含义和作用
你遇到的是Vuex针对带命名空间的模块设计的mapGetters重载用法,具体作用如下:
- 第一个字符串参数
'User'是命名空间标识:对应你Vuex Store中配置了namespaced: true的User子模块,用来告诉mapGetters后续的getter都从这个子模块下查找,不需要手动补全路径前缀。 - 第二个数组参数
['userToken']是要映射的getter名称列表:表示将User模块下名为userToken的getter,直接映射为当前组件同名的计算属性。
使用该语法后,你在组件内直接调用this.userToken,等价于手写完整路径的this.$store.getters['User/userToken'],能大幅简化同模块下多getter映射的代码量。
如果需要自定义组件本地的计算属性名,第二个参数可以替换为对象,示例如下:
computed: { ...mapGetters('User', { // 自定义本地属性名为token,映射到模块的userToken getter token: 'userToken' }) }
这样组件内就可以通过this.token访问对应getter的值。
内容的提问来源于stack exchange,提问作者1252748
相关产品推荐
相关产品推荐

