今天给大家写一篇关于vue校验登录状态,如果是非法登录就跳转到登录页面的效果
它的具体实现是一个router.beforeEach的钩子,每次路由切换时触发,写法如下
router.beforeEach((to, from, next) => { next() })
beforeEach函数有三个参数:
- to:即将进入的路由对象
- from:当前导航即将离开的路由
- next,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。
使用案例Demo
限制登陆功能,具体实现思路:每次跳转路由是判断本地 localStorage.getItem('token') 状态
路径:找到router->index.js如下
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [{ path: '/', name: 'HelloWorld', component: HelloWorld }, { path: '/login', name: 'login', component: login } ] }) //下面是重点 router.beforeEach((to, from, next) => { let token = localStorage.getItem('token') if (to.path == '/login') { next() } else { if (token == '' || token == null) { next('/login'); } else { next() } } }) export default router;
解释:index.js写成如上形式,用const router 接受 new Router对象,最后export暴露出去
router.beforeEach 在每次路由跳转出发
let token = localStorage.getItem('token') 获取本地没有没token 如果没有就跳到login页面 很简单的逻辑
热门文章
- VPN美国 | 2月17日19.1M/S|免费VPN/Shadowrocket/V2ray/SSR/Clash免费节点链接地址
- 一片枫叶的句子唯美(一片枫叶 意境)
- VPN美国 | 2月28日18.2M/S|免费VPN/SSR/V2ray/Clash/Shadowrocket免费节点链接地址
- VPN美国 | 3月10日21M/S|免费VPN/Clash/Shadowrocket/SSR/V2ray免费节点链接地址
- java 示例讲解循环语句的使用_java_
- TensorFlow 模型保存/载入的两种方法
- 床上快速找到跳蚤的方法(跳蚤咬的包什么样图片)
- 狗粮牌子推荐(狗粮牌子推荐排行榜)
- VPN美国 | 2月26日21.2M/S|免费VPN/Clash/Shadowrocket/SSR/V2ray免费节点链接地址
- 让猫挠了轻微出血有事吗猫打了狂犬疫苗 让猫挠了轻微出血有事吗猫打了狂犬疫苗会怎么样