我已经在.vue组件中制作了vuex命名空间的 setter/getter 映射,如下所示:

...mapGetters([
  'fooModule/barGetter'
])

现在如何在.vue组件模板中访问此 setter/getter
我已经尝试过{{fooModule.barGetter}},但是似乎没有用,{{fooModule/barGetter}}显然是错误的。

我可以在mapGetters中为getter分配另一个键,方法是
...mapGetters({
    fooBarGetter: 'fooModule/barGetter'
})

这使我可以使用{{forBarGetter}}访问模板中的值

但是,我想知道是否有一种无需分配其他密钥即可访问'fooModule/barGetter'的方法。可能吗?如果是这样怎么办?

最佳答案

mapGetters的第一个参数可以是 namespace :

computed: {
    ...mapGetters("fooModule", [
        "barGetter"
    ]),
    ...mapGetters("anotherModule", [
        "someGetter"
    ])
}

这将使值在模板中作为this.barGetter或仅barGetter可用。注意,有多个mapGetters语句是完全可以接受的。

Vuex Getters documentation

Vuex Binding helpers with namespace

关于vue.js - 从模板访问vue vuex命名空间的getter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45131928/

10-09 17:34