[英]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.