当我使用 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 的代码,因此我们无法确定您的问题所在,但我会根据您调用的具体错误打赌 getToken
为 this.$store.getters.getToken()
。这不是您在 vuex 中访问 getter 的方式。相反,您只需执行 this.$store.getters.getToken
,不带括号。
我照着官方的例子用了,还是不行
首先,我导出了一个包含我想要的功能的对象。
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 的代码,因此我们无法确定您的问题所在,但我会根据您调用的具体错误打赌 getToken
为 this.$store.getters.getToken()
。这不是您在 vuex 中访问 getter 的方式。相反,您只需执行 this.$store.getters.getToken
,不带括号。