广告
返回顶部
首页 > 资讯 > 精选 >vue路由守卫的三种类型分别是什么
  • 837
分享到

vue路由守卫的三种类型分别是什么

2023-06-06 16:06:45 837人浏览 八月长安
摘要

这篇“Vue路由守卫的三种类型分别是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“vue路由守卫的三种类型分别是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来

这篇“Vue路由守卫的三种类型分别是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“vue路由守卫的三种类型分别是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

vue是什么软件

Vue是一套用于构建用户界面的渐进式javascript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

vue中路由守卫一共有三种,分别为:全局路由守卫(全局前置守卫、全局后置守卫),组件内路由守卫,路由独享守卫(是在路由配置页面单独给路由配置的一个守卫)。

路由守卫,也可以是路由拦截,我们可以通过路由拦截,来判断用户是否登录,该页面用户是否有权限浏览,需要结合meta来实现

vue中路由守卫一共有三种,一个全局路由守卫,一个是组件内路由守卫,一个是router独享守卫

所谓的路由守卫可以简单的理解为一座房子的门口的保安,想要进入这个房子就必须通过保安的检查,要告诉路由守卫你从哪里来?总不能随便陌生人就给放进去?要到哪里去?然后保安再告诉你下一步该怎么做?如果你的确是这个房子主人允许进入的人,那就让你进入,否则就要打电话给房子主人,跟房主商量(登录注册),给你权限。

一.全局守卫

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

2. 回调函数中的参数,to:进入到哪个路由去,from:从哪个路由离开,next:函数,决定是否展示你要看到的路由页面。

3. 如下例:main.js中设置全局守卫

  • 在main.js中,有一个路由实例化对象router。在main.js中设置守卫已是全局守卫。

  • 如下,判断to.path当前将要进入的路径是否为登录或注册,如果是就执行next(),展示当前界面。如果不是,就弹出alert,然后移至登录界面。

  • 这样就可实现,用户在未登录状态下,展示的一直是登录界面。

router.beforeEach((to,from,next)=>{  if(to.path == '/login' || to.path == '/reGISter'){    next();  }else{    alert('您还没有登录,请先登录');    next('/login');  }})

4. 全局后置钩子router.afterEach((to,from)=>{})

  • 只有两个参数,to:进入到哪个路由去,from:从哪个路由离。

  • 如下,每次切换路由时,都会弹出alert,点击确定后,展示当前页面。

router.afterEach((to,from)=>{  alert("after each");})

5. 判断store.gettes.isLogin === false 是否登录

二.组件内的守卫

1. 到达这个组件时,beforeRouteEnter:(to,from,next)=>{}

  • 在Admin.vue文件中,点击转到admin路由时,执行beforeRouteEnter函数

  • to,from参数与上面使用方法一致。next回调函数略有不同。

  • 如下例,data 组件内守卫有特殊情况,如果我们直接以
    beforeRouteEnter:(to,from,next)=>{ alert("hello" + this.name);}进行访问admin页面,会发现alert输出hello undefined。这是因为,现在访问不到我们的data属性,执行顺序是不一致,这与的声明周期有关。在执行完之前,data数据还未渲染。所以这里,next()会给一个对应的回调,帮助完成。

<script>export default {    data(){        return{            name:"Arya"        }    },    beforeRouteEnter:(to,from,next)=>{        next(vm=>{            alert("hello" + vm.name);        })    }}</script>
vue路由守卫的三种类型分别是什么
vue路由守卫的三种类型分别是什么

2. 离开这个组件时,beforeRouteLeave:(to,from,next)=>{}

  • 点击其他组件时,判断是否确认离开。确认执行next();取消执行next(false),留在当前页面。

beforeRouteLeave:(to,from,next)=>{        if(confirm("确定离开此页面吗?") == true){            next();        }else{            next(false);        }    }

三.路由独享的守卫

1. beforeEnter:(to,from,next)=>{},用法与全局守卫一致。只是,将其写进其中一个路由对象中,只在这个路由下起作用。

以上是“vue路由守卫的三种类型分别是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: vue路由守卫的三种类型分别是什么

本文链接: https://www.lsjlt.com/news/247698.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue路由守卫的三种类型分别是什么
    这篇“vue路由守卫的三种类型分别是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“vue路由守卫的三种类型分别是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来...
    99+
    2023-06-06
  • vue-router的路由守卫是什么
    这篇文章主要介绍“vue-router的路由守卫是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue-router的路由守卫是什么”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • Vue中的路由使用和多种守卫方法是什么
    今天小编给大家分享一下Vue中的路由使用和多种守卫方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.vue-rou...
    99+
    2023-07-05
  • vue的路由守卫和keep-alive后生命周期是什么
    本文小编为大家详细介绍“vue的路由守卫和keep-alive后生命周期是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue的路由守卫和keep-alive后生命周期是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-29
  • DBMS体系结构的三种类型分别是什么
    这篇文章主要介绍了 DBMS体系结构的三种类型分别是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。DBMS体系结构有三种类型,分别为:单层架...
    99+
    2022-10-18
  • 数据库的三种模型分别是什么
    这篇文章主要介绍了数据库的三种模型分别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言数据模型是数据库系统的核心,本文简要介绍三种主...
    99+
    2022-10-18
  • ​SQL命令的4种类型分别是什么
    这篇文章给大家分享的是有关SQL命令的4种类型分别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。SQL命令主要分为4种类型,分别为:DDL(数据定义语言)、DML(数据操作...
    99+
    2022-10-18
  • JavaScript的八种数据类型分别是什么
    小编今天带大家了解JavaScript的八种数据类型分别是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“JavaScript的八...
    99+
    2023-06-26
  • java之jvm两种存储区的类型分别是什么
    小编给大家分享一下java之jvm两种存储区的类型分别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java的优点是什么1. 简单,只需理解基本的概念,就可...
    99+
    2023-06-14
  • JavaScript中检测数据类型的四种方法分别是什么
    这期内容当中小编将会给大家带来有关JavaScript中检测数据类型的四种方法分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言:在介绍检测数据类型的方法之前,先说说JavaScript中数据类...
    99+
    2023-06-26
  • Python字典中集合类型的六种操作方案分别是什么
    Python字典中集合类型的六种操作方案分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。集合类型①用集合的工厂方法 set()和 frozenset()...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作