如何同时使用带有模块和root的getter的mapGetters?

时间:2018-01-22 05:39:44

标签: vue.js vuex

我知道如何在一种情况下使用mapGetters,但不是两种情况。

示例,firstRootGetter内有store/index.js,因此我将在vue组件中调用...mapGetters(['firstRootGetter'])

如果我firstModuleGetter内有secondModuleGetterstore/modules/post.js,我会致电...mapGetters('post', ['firstModuleGetter', 'secondModuleGetter'])

我的问题是,如何在单...mapGetters中调用它们。有可能吗?

现在我必须写两行来分别调用它们。

2 个答案:

答案 0 :(得分:5)

是的,您必须为每行中的mapGetters助手提供名称空间:

...mapGetters({
  exampleGetter: 'myModule1/exampleGetter',
  anotherGetter: 'myModule2/anotherGetter',
})

如果您尝试将它们组合到单个getter中,请使用读取两个模块存储并返回组合对象的根action。然后就像你mapActions一样mapGetters

答案 1 :(得分:3)

computed: {
        ...mapGetters('module1', ['getQuestions', 'getAnswers']),
        ...mapGetters('module2', ['getGrades'])
    },

这是使用的语法:

 ...mapGetters('some/nested/module', [
    'someGetter', // -> this.someGetter
    'someOtherGetter', // -> this.someOtherGetter
  ])