首页 > 解决方案 > 不工作...mapGetters

问题描述

错误 [vuex] 未知 getter:计数器/计数`

结构体:

store.js

const state = {
    someRootState: 'someRootState'
}

const getters = {
    getRootState: state => state.someRootState
}

import counter from './counter.js'

export default new Vuex.Store({
    state,
    getters,
    modules:{
        counter
    }
})

计数器.js

const state = {
    count: 10
}

const getters = {
    getCount: state => state.count
}

export default {
    namespaced: true,
    state,
    getters
}

应用程序.vue

import { mapGetters } from "vuex";

computed: {
    //doesn't work  [vuex] unknown getter: counter/count
    ...mapGetters("counter", [
        "count"
    ]),

    //doesn't work  [vuex] unknown getter: counter/count
    ...mapGetters({
        count: "counter/count"
    }),

    //work
    ...mapGetters(["getRootState"]),

    //work
    ...mapGetters({
        getRootState: "getRootState"
    }),

}

mapStates 工作正常,mapGetters 不工作,请帮我理解

标签: vue.jsvuex

解决方案


你的 getter 被称为getCount, not count,所以mapGetters调用应该是这样的:

...mapGetters("counter", [
  "getCount"
]),

推荐阅读