Vuex命名空间下mapGetter用对象语法重命名失效是什么原因?
问题原因
你使用重命名对象语法时多包裹了一层数组,不符合mapGetters的传参规则。
mapGetters第二个参数仅支持两种传参格式:
- 无重命名需求:传字符串数组,数组元素为模块内定义的原始getter名,映射后计算属性名和原始getter名完全一致
- 有重命名需求:直接传普通对象,对象键为自定义的计算属性名,对象值为模块内定义的原始getter名,不需要嵌套数组
你当前的写法是把重命名对象套入了数组,Vuex在处理数组参数时会将每个元素转为字符串作为属性名,对象转字符串的结果就是[object Object],因此才会出现你看到的异常属性,自然也生成不了预期的tAllowedBaskets属性。
正确写法
直接移除包裹重命名对象的外层数组即可:
computed: { ...mapGetters('currentTournament', { tAllowedBaskets: 'allowedBaskets' }), }
内容的提问来源于stack exchange,提问作者Eggon
相关产品推荐
相关产品推荐

