Кам*_*мур 3 javascript vue.js vuejs2
我正在创建一个Router实例,以便在我的应用中实现路由系统。因此,我这样做的方式是:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
},
]
})
Run Code Online (Sandbox Code Playgroud)
但是我还需要.beforeEach()在路由器实例上实现钩子。解决方法是什么?
我发现这样的方式:
router.beforeEach((to, from, next) => {
// ...
});
Run Code Online (Sandbox Code Playgroud)
但是我想以我的方式是不正确的?这样做的正确方法是什么?
Solved:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const router = new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
},
]
})
Run Code Online (Sandbox Code Playgroud)
Implementing .beforeEach() hook on router instance:
router.beforeEach((to, from, next) => {
if(to.meta.requiresAuth) {
if(store.state.session.authenticated) {
next();
}
else {
next('/admin/login');
}
}
else {
next();
}
});
Run Code Online (Sandbox Code Playgroud)
Exporting the instance:
export default router;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |