繁体   English   中英

如何在Vue.js中导出路由器实例2

[英]How to export Router instance in Vue.js 2

我正在创建一个Router实例,以便在我的应用程序中实现路由系统。 所以,我是这样做的:

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
  ]
})

但我还需要在我的Router实例上实现.beforeEach()挂钩。 解决方法是什么?

我找到的方式如下:

router.beforeEach((to, from, next) => {
    // ...
});

但我想我的方式不正确吗? 这样做的正确方法是什么?

解决了:

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

const router = new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
  ]
})

router实例上实现.beforeEach()挂钩:

router.beforeEach((to, from, next) => {
  if(to.meta.requiresAuth) { 
    if(store.state.session.authenticated) { 
        next();
    }
    else {
        next('/admin/login');
    }
  }
  else {
    next();
  }
});

导出实例:

export default router;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM