从beforeEnter内部访问存储

时间:2018-03-20 12:12:23

标签: vuejs2 vue-router vuex

我在填充路线的文件中有以下内容

import store from '../../../store'

{
  name: 'auth.logout',
  path: 'logout',
  meta: { requiresAuth: false },
  beforeEnter: (to, from, next) => {
    store.dispatch('logout')
    return '/'
  }
}

但是在尝试运行代码store时未定义。如何访问Vuex存储以执行以下代码?

如何调用在store.dispatch方法中传递的用户定义的操作?即logout({ dispatch }) { ....

1 个答案:

答案 0 :(得分:1)

在store.js中的

,你是导出new vuex.Store实例还是只是普通对象并在main.js上查看它?路径('../../../store')对吗?

另外,如果它是SPA,我没有看到任何指向'/ logout'路线,为什么不在导航栏组件上执行相同逻辑的logout方法(store.dispatch('logout) '),router.push('/'))。

关闭主题:无法使用requiresAuth: false

进入“注销”端点