当我使用 Vuex 的 'getters' 时出现错误,提示“它不是一个函数”,为什么?

An error occurred when i used the 'getters' of the Vuex which said “it is not a function”,why?

我照着官方的例子用了,还是不行

首先,我导出了一个包含我想要的功能的对象。

var getters = {
    getToken: (state) => {   
    if (!state.token) {
        state.token = localStorage.getItem('token')
    }
    return state.token
    }
}
export default getters

然后,我在“商店”中导入了它

const store = new Vuex.Store({
    state,    
    getters,  
    actions,  
    mutations 
})

这是它的调用方式

created()
    {
    
     var token=this.$store.getters.getToken(this.$store.state);
  
    }

终于,调用它的函数时出错了 enter image description here

我想知道怎么处理。

很遗憾,您没有提供访问 getter 的代码,因此我们无法确定您的问题所在,但我会根据您调用的具体错误打赌 getTokenthis.$store.getters.getToken()。这不是您在 vuex 中访问 getter 的方式。相反,您只需执行 this.$store.getters.getToken,不带括号。