记录在学习vue中的一些问题

导航守卫,官方文档给出的定义:

你可以使用 router.beforeEach 注册一个全局前置守卫:
const router = new VueRouter({ … })
router.beforeEach((to, from, next) => {
// …
})
当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中。
每个守卫方法接收三个参数:
to: Route: 即将要进入的目标 路由对象
from: Route: 当前导航正要离开的路由
next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。
next(false): 中断当前的导航。如果浏览器的 URL 改变了 (可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。
next(’/’) 或者 next({ path: ‘/’ }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。你可以向 next 传递任意位置对象,且允许设置诸如 replace: true、name: ‘home’ 之类的选项以及任何用在 router-link 的 to prop 或 router.push 中的选项。
next(error): (2.4.0+) 如果传入 next 的参数是一个 Error 实例,则导航会被终止且该错误会被传递给 router.onError() 注册过的回调。

在router/index.js中注册一个导航守卫:

//导航守卫
router.beforeEach((to,from,next)=>{if(to.path=='/Login') return next();if(to.path=='/register') return next();const tokenStr = window.sessionStorage.getItem('token')if(!tokenStr) return next('/Login')next()
})

判断在session中是否有了token,如果没有,那就只能浏览登录和注册页面,当我们登录成功后,session中有了token值,我们就会跳转到首页。

vue3 导航守卫(在没有登录时只能一直在登录和注册页面)相关推荐

  1. lync登录时一直停留在登录界面

    现象:lync突然不能登录成功,一直停留在登录界面,也不报错. 经历过卸载重装lync,等等方法,都未能解决问题. 无意中从尝试解决方法的其中一种方案中解决了问题,所以在博客中标记一下,避免自己遗忘, ...

  2. 百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”

    解决!百度云管家使用QQ第三方登录时提示"由于网络原因无法载入页面 请点击刷新后重试" 首先网络是没问题,怎么会出现这个奇怪问题, 上网找原因后,各种说法. 试了好几种说法. 其中 ...

  3. FTP登录时一直弹出登录窗口,就算输入正确的账号密码也不能登录

    FTP登录时一直弹出登录窗口,就算输入正确的账号密码也不能登录 一.问题描述 办公室的FTP本来用得好好的,结果有一天突然就不能用了.在文件资源管理器的地址栏输入FTP地址会正常弹出输入账号密码的对话 ...

  4. 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”

    解决!百度云管家使用QQ第三方登录时提示"由于网络原因无法载入页面 请点击刷新后重试" 首先网络是没问题,怎么会出现这个奇怪问题, 上网找原因后,各种说法. 试了好几种说法. 其中 ...

  5. 登录时 按Enter 进入登录界面 或者下一行

    1 function keyLogin() { 2 if (event.keyCode == 13) //回车键的键值为13 3 $(".btn-submit").click(); ...

  6. 修改linux登录时提示信息,修改Linux登录欢迎信息

    编辑/etc/motd文件(没有自己创建即可) ▽ _.._ ,------------. ,' `. ( Hello Boy ! ) / __) __` \ `-,----------' ( (`- ...

  7. 用户登录唯一性,同一用户在其他电脑登录时,当前的登录下线

    有道云地址: http://note.youdao.com/noteshare?id=0cd0a476982be71fc0598ceb27051fb0&sub=A8FEA0FAF81248B4 ...

  8. vue-router 的总结(导航守卫、组件过渡、组件间参数传输、懒加载)

    在实际项目中很多地方需要router的运用,下面从实践运用的例子总结一下需要引用router的地方 导航守卫:当用户没有登录时,限制用户不能访问某些页面 组件过渡,当页面中切换会出现动态的切换效果 组 ...

  9. 登录验证,未登录时跳转登录页面,登录了直接跳转相应页面(vue)(vue-router)

    需求: 当别人直接使用链接地址打开我们项目时,我们为了安全和用户信息考虑,我们就可以对路由跳转做导航守卫,以便用户未登录时,跳转登录页,已经登录的,可直接去往想要的页面 话不多说,上代码: // 为路 ...

最新文章

  1. python之np.var()函数解析
  2. linux下安装mysql的方式_linux下安装mysql的两种方式
  3. 激活Win Server 2008 R2 Datacenter
  4. javaEE开发问题整理(1)
  5. php7.0 cli,PHP-7.1 源代码学习:php-cli 启动流程
  6. 一键导出/备份「有道云笔记」工具
  7. Python中的堆实现:heapq 模块——利用堆结构实现快速访问数据流中的中位数
  8. CCF202012-2 期末预测之最优阈值
  9. 《计算机小常识》一不小心把windows资源管理器给结束任务了,电脑黑屏了怎么办?
  10. 微信小程序 背景图片设置
  11. 5.PB中调用存储过程
  12. 【自动驾驶】ROS机器人操作系统总结
  13. zktime 协议_中控考勤机对接信呼帮助(中控ZKTime5.0系统软件版)
  14. 中仪股份管道机器人_中仪股份_X5-HW_管道检测机器人
  15. 如何成为职业高手(转自道法—自然老师)
  16. cadence SPB17.4 - 更换已有原理图的标题栏
  17. 机器认知、人机交互、边缘计算……在这里,他们谈论了关于AI的关键议题
  18. Can not import avx core while this file exists
  19. L1-049 天梯赛座位分配
  20. 小提琴弓是如何出现的?

热门文章

  1. chrome谷歌浏览器插件推荐
  2. 机器学习(学习笔记)
  3. 移动 短信群发软件开发完成。
  4. 动态规划实现矩阵连乘
  5. mysql中nvl_oracle中nvl函数在mysql里面怎么使用
  6. html中加一减一的按钮,JS下实现加号减号的数量加一减一
  7. MacBook Pro 2015 mid ssd存储升级扩容需求以及解决方案
  8. 专家查查-专家人才查询网
  9. 微信企业号开发之接收响应消息
  10. python--猜数字小游戏