问题描述
点击app界面任何一个按钮, 如何全局拦截事件, 判断用户是否登录, 再进行跳转逻辑处理
可以在路由钩子上做处理。
下面是vue的写法:
beforeEach(({ meta, path, query }, from, next) => {
iView.LoadingBar.start()
const data = Boolean(localStorage.getItem('userInfo'))
if (data) {
if (path === '/login' || path === '/') {
if (state.sideRouter.length) {
next(`${state.sideRouter[0].path}/${state.sideRouter[0].children[0].path}`)
} else {
// 防止第一次进入时,state.sideRouter没有数据,导致跳转不了
next(localStorage.LOGIN_PATH)
}
}
next()
} else {
if (path === '/login') {
next()
} else {
next('/login')
}
}
})
1 回答812 阅读
2 回答611 阅读
1 回答593 阅读
2 回答596 阅读
1 回答689 阅读
637 阅读
全局存一个变量,
默认 false
例如:
isLogin:false
登录了置成true
点击按钮,判断 isLogin===true