簡體   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