Vuejs2 在nuxtjs的中间件中访问带名称空间的getter函数

Vuejs2 在nuxtjs的中间件中访问带名称空间的getter函数,vuejs2,vuex,nuxt.js,Vuejs2,Vuex,Nuxt.js,我有一个名为store/auth.js的存储模块,其中有一个getter export const getters = { isAuthenticated(state) { return state.token != null } } 现在我想在我的中间件中调用这个名称空间的getter。我该怎么称呼那个能手呢 这似乎是可行的,但即使没有任何名称空间 export default function (context) { if(!context.store.getters

我有一个名为store/auth.js的存储模块,其中有一个getter

export const getters = {
  isAuthenticated(state) {
     return state.token != null
  }
}
现在我想在我的中间件中调用这个名称空间的getter。我该怎么称呼那个能手呢

这似乎是可行的,但即使没有任何名称空间

export default function (context) {
  if(!context.store.getters.isAuthenticated)
    context.redirect('/')
  }
}
getter的行为是否与我必须调用
auth/
的操作或突变不同

context.store.dispatch("auth/SomeVuexAction")

您可以通过以下方式访问vuex Getter:

context.store.getters["modulename/gettername"]
i.e.(In your case) mention correct module and getter name
context.store.getters["auth/isAuthenticated"]

在您的中间件中,您可以尝试在导出内部直接导入存储。类似这样的东西:export default({store})=>{console.log(store.state)}我曾经这样尝试过,但当时不起作用。但是在重新启动开发环境后,它现在看起来工作正常。。。