vue路由守卫使用

vue路由守卫使用vue 路由钩子函数 路由的钩子函数总结有 6 个全局的路由钩子函数 beforeEach afterEachvue afterEach 全局后置守卫 router beforeEach 是页面加载之前 router afterEach 是页面加载之后单个的路由钩子函数 beforeEnter 组件内的路由钩子函数 beforeRouteE beforeRouteL beforeRouteU 参数都为 to from next to Route 路由对象 即

vue路由钩子函数:

路由的钩子函数总结有6个

全局的路由钩子函数:beforeEach、afterEach

单个的路由配置内使用的钩子函数:beforeEnter

组件内的路由钩子函数:beforeRouteEnter、beforeRouteLeave、beforeRouteUpdate

所有钩子函数参数都为 (to,from,next)

to: (Route路由对象) 即将要进入的目标 路由对象 to对象下面的属性

from: (Route路由对象) 当前导航正要离开的路由

next(‘/’) 或者 next({ path: ‘/’ }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。

应用场景:可进行一些页面跳转前处理,例如判断需要登录的页面进行拦截,做登录跳转!

 router.beforeEach((to, from, next) => { if (to.meta.requireAuth) { //判断该路由是否需要登录权限 if (token) { //通过读取token,如果存在,name接下一步如果不存在,那跳转回登录页 next()//不要在next里面加"path:/",会陷入死循环 } else { next({ path: '/login', query: {redirect: to.fullPath}//将跳转的路由path作为参数,登录成功后跳转到该路由 }) } } else { next() } }) 

路由独享的守卫(路由内部钩子)

在路由上直接配置 beforeEnter 守卫:

 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, // 这儿你可以使用路由懒加载引入 beforeEnter: (to, from, next) => { // } } ] 

组件内的守卫(组件独享钩子)

1、beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave

beforeRouteEnter (to, from, next) { // 在渲染该组件的对应路由被 confirm 前调用 // 不能!获取组件实例 this // 因为当钩子执行前,组件实例还没被创建 }, beforeRouteUpdate (to, from, next) { // 当转一个同一个页面中,当页面地址栏的参数发生变化时候,而数据并没有实时的进行更新,需要刷新页面才会显示新的数据,可通过to获取到路由的参数 // 可以访问组件实例 `this` }, beforeRouteLeave (to, from, next) { // 导航离开该组件的对应路由时调用 // 可以访问组件实例 this } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221666.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:33
下一篇 2026年3月17日 下午5:34


相关推荐

  • cocos2d基础篇笔记四

    cocos2d基础篇笔记四

    2021年12月5日
    52
  • 睿智的目标检测23——Pytorch搭建SSD目标检测平台

    睿智的目标检测23——Pytorch搭建SSD目标检测平台睿智的目标检测23——Pytorch搭建SSD目标检测平台学习前言什么是SSD目标检测算法源码下载SSD实现思路一、预测部分1、主干网络介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二、训练部分1、真实框的处理2、利用处理完的真实框与对应图片的预测结果计算loss训练自己的ssd模型学习前言一起来看看SSD的Pytorch实现吧,顺便训练一下自己的数据。什么是SSD目标检…

    2022年6月15日
    30
  • OpenGL入门教程

    概述OpenGLOpenGL是渲染2D、3D矢量图形硬件的一种软件接口。本质上说,它是一个3D图形和模型库,具有高度的可移植性,并且具有非常快的渲染速度。OpenGL并不是一种语言,而是更像一个C运行时函数库。它提供了一些预包装的功能,帮助开发人员编写功能强大的三维应用程序。OpenGL可以再多种操作系统平台上运行,例如各种版本的Windows、UNIX/Linux、MacOS和OS/…

    2022年4月6日
    35
  • 170 套各种公司网站模板软件公司网站模板企业网站模板创意设计公司网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响应

    170 套各种公司网站模板软件公司网站模板企业网站模板创意设计公司网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响应170 套各种公司网站模板软件公司网站模板企业网站模板创意设计公司网站模板 html5 网页静态模板 Bootstrap 扁平化网站源码 css3 手机 seo 自适响应 不仅仅是首页 二级页面 三级页面 登陆 购物车等 页面齐全功能齐全 js css html img 字体均有 前端 html 纯静态页面 无后台 可用 dreamweaver sublime Webst 下载地址 170 套各种公司网站模板软件公司网站模板企业网站模板创意设计公司网站模板 html5 网页静态模板 Boo

    2026年3月16日
    1
  • 超详细的Unity小白的 ML-Agents(Release 22)学习记录2:3D平衡球案例

    超详细的Unity小白的 ML-Agents(Release 22)学习记录2:3D平衡球案例

    2026年3月15日
    2
  • java hibernate 实现按条件删除多对象[通俗易懂]

    java hibernate 实现按条件删除多对象[通俗易懂]背景:在hibernate应用中,需要实现按条件删除功能场景:在方法中传入泛型对象,构建HQL语句思路:遍历对象属性,如果有值,表明该字段是删除条件,用它构建删除HQL。具体做法是遍历对象对象的所有get方法,然后通过方法反射获取到对象的值。然后再判断值是否为空,从而组装HQL语句使用例子:publicclasstestH{publicstaticvoidmain(String[]args){Sessionsession=sessi

    2022年6月16日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号