[英]How to export an named instance in Vue.js, stop using: var app = this
[英]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.