【问题标题】:How to rename a namespaced mapGetter in Vuex?如何在 Vuex 中重命名命名空间 mapGetters?
【发布时间】:2021-09-06 14:50:40
【问题描述】:

在我的nuxt 项目中,我尝试使用mapGettersdocs 中描述的重命名对象语法。 Getter 在名为 currentTournament 的模块中命名。

这是 mixin 中的计算属性:

computed: {
  ...mapGetters('currentTournament', [{ tAllowedBaskets: 'allowedBaskets' }]),
}

如果我记录组件的this,而不是tAllowedBaskets 属性,则会出现一个新属性[object Object]: undefined。但是,如果我使用“简单”字符串语法:

...mapGetters('currentTournament', ['allowedBaskets'])

allowedBaskets 属性正确显示。

为什么对象语法不起作用?

【问题讨论】:

    标签: vue.js vuejs2 nuxt.js vuex


    【解决方案1】:

    正确的语法是

    ...mapGetters('currentTournament', { tAllowedBaskets: 'allowedBaskets' }),
    

    您不需要有方括号[],如vuex documentation 的这一部分所示。

    【讨论】:

    • 谢谢,但是如果我想一次映射多个 getter 怎么办?为了简单起见,我在示例中只放置了一个 getter。数组语法不支持对象语法吗?
    • 从未见过它,我怀疑它确实如此(可能是错误的,但文档中没有相关内容)。出于清晰的原因和更简单更易理解的代码@Eggon,我仍然建议每行编写一个
    猜你喜欢
    • 2020-03-29
    • 2021-11-17
    • 2019-06-06
    • 2020-05-07
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2020-07-14
    • 2020-06-27
    相关资源
    最近更新 更多