在做后台管理系统的时候,是要先登录才能查看内部页面,那么如果没有登录,直接打开内部页面地址,要拦截下来返回到登录页
router.beforeEach((to, from, next) => {
// 只有/test页面并且isShow=false的时候可以不经登录打开
if (to.path == "/test" && to.query.isShow == 'false') {
next()
} else if (to.path == '/') {
next()
} else {
//判断是否登录的条件,具体根据自己项目的具体情况来判断
//store是我存在observable状态里的,也可以用session
if (store.token && store.count) {
store.count.includes(to.meta.parent) ? next() : next(false);
} else {
!to.meta.parent ? next() : next({
path: '/'
});
};
};
});
路由meta配置
let test=[
{
path: '/test111',
component: () => import('@/views/test'),
name: '测试',
meta: {
breadcrumb: ['测试管理', '测试'],
parent: '测试'
}
}
]