温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何分析Vue router路由守卫

发布时间:2021-12-27 12:59:52 来源:亿速云 阅读:233 作者:柒染 栏目:开发技术

本篇文章给大家分享的是有关如何分析Vue router路由守卫,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    一、全局前置beforeEach

    当 Local Storage 里面存储的 name 是 zhangsan 的时候, 点击消息才显示消息内容

    如何分析Vue router路由守卫

    1. 全局前置beforeEach

    给router添加一个路由守卫 beforeEach

    语法 :

    router.beforeEach((to, from, next)=>{})

    作用 : 初始化的时候 和 在每一次路由切换之前调用beforeEach里面的函数

    参数 :

    1.to : 目标路由

    2.from : 跳转前的路由

    3.next : 放行

    2. 实现

    如何分析Vue router路由守卫

    二、需求二

    如果有很多个路径都需要做出判断以后才跳转, 就需要写很多判断的代码, 判断结构就会很复杂

    这时需要判断的路由里面就可以放一个meta标签

    meta标签提供关于HTML文档的元数据 (元数据指用来描述数据的数据)

    如何分析Vue router路由守卫

    这时就可以使用meta里面的标记字段进行判断

    如何分析Vue router路由守卫

    三、全局后置守卫 afterEach

    afterEach 和 beforeEach 使用方法基本一致.

    区别就是afterEach没有next这个参数

    1. 修改title为自己的title

    给每个路由指定自己的title名称

    const router = new VueRouter({   routes: [     {       name: 'home',       path: '/home',       component: Home,       meta: {         title: "首页"       },       children: [          {           name: "xiaoxi",           path: 'message',           component: Message,           meta: {             title: "消息"           },           children: [             {               name: 'xiangqing',               path: 'detail',               component: Detail,               meta: {                 isAuth: true,                 title: "消息详情"               }             }           ]         }       ]     },     {       path: '/about',       component: About,       meta: {         title: "关于"       }     }   ] })

    在 beforEach里面修改title名

    router.afterEach((to, from) => {   document.title = to.meta.title || "测试" })

    四、组件内守卫

    1. beforeRouteEnter

    通过路由规则, 进入该组件时被调用

    2. beforeRouteLeave

    通过路由规则, 离开该组件时被调用

    以上就是如何分析Vue router路由守卫,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI