当前位置:网站首页 > 人工智能与大数据应用 > 正文

路由守卫面试题(什么是路由守卫 路由守卫的应用场景)



1、概念

(1)路由守卫,也称为路由拦截,我们可以通过路由守卫(拦截),来判断用户是否登录,该页面用户是否有权限浏览,需要结合vue-router 路由元信息meta来实现


(2)路由元信息的作用就是通过meta对象中的一些属性来判断当前路由是否需要进一步处理,可以按照自己想要的效果进行处理即可,如下代码中在路由元信息中设置路由守卫、标题


2、路由守卫的种类

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


3、简单理解路由守卫

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


4、全局路由守卫又分为全局前置守卫和全局后置守卫

(1)全局前置守卫

全局前置守卫,组件初始化时调用,每次路由切换之前调用,路由切换之前指的就是,举个例子说,当前我在A路由组件,我要切换到B路由组件,那么前置路由守卫就是在我点了切换按钮,但B路由组件还没有被呈现在页面上的时候被调用。常用于登录鉴权,这样页面没显示出来时就已经判断了你是否有权限

//全局前置守卫

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

//第一个参数to,切换后的路由对象,需要跳到那个路由对象去,理解为你要去哪?

//第二个参数from,切换前的路由对象,跳转之前的路由对象,理解为你从哪来?

//第三个参数next(),是否往下执行,如果不写的话路由就不会跳转,操作将会终止,理解为放行

})


(2)全局后置守卫

全局后置守卫,在每次路由切换之后调用,举例:当前我在A路由组件,我要切换到B路由组件,那么后置路由守卫就是在我点了切换按钮后B路由组件呈现到页面中后被调用。是成功切换到B组件后触发的

//全局后置守卫

//router.((to,from) =>{

//第一个参数to,切换后的路由对象,需要跳到那个路由对象去,理解为你要去哪?

//第二个参数from,切换前的路由对象,跳转之前的路由对象,理解为你从哪来?

全局后置守卫是整个单页应用中每一次路由跳转时后都会执行其中的回调。所以多用于路由跳转后的触发的页面操作,例如上面代码中,每次条转到新页面都会弹出“成功跳转,触发后置路由守卫!!”的弹窗,它并不进行页面的重定向或跳转。


5、组件独享守卫

组件独享守卫顾名思义就是对单个组件单独设置的守卫,也是在进入组件时被调用,与全局后置守卫区别就在于,全局路由守卫服务的是所有路由组件,而组件独享守卫是你想对那个组件的路由进行权限控制就直接在那个路由配置项中添加守卫,作用域也仅限于该路由

//组件独享守卫

beforeEnter(to,from,next){

//第一个参数to,切换后的路由对象,需要跳到那个路由对象去,理解为你要去哪?

//第二个参数from,切换前的路由对象,跳转之前的路由对象,理解为你从哪来?

//第三个参数next(),是否往下执行,如果不写的话路由就不会跳转,操作将会终止,理解为放行}


6、组件内守卫

当使用路由规则进入该组件或离开该组件时,就会触发组件内守卫的调用,而组件内守卫的作用于范围也仅限于该组件

//进入守卫:进入该组件时被调用

beforeRouteEnter (to, from, next) {

//第一个参数to,切换后的路由对象,需要跳到那个路由对象去,理解为你要去哪?

//第二个参数from,切换前的路由对象,跳转之前的路由对象,理解为你从哪来?

//第三个参数next(),是否往下执行,如果不写的话路由就不会跳转,操作将会终止,理解为放行

},

//离开守卫:离开该组件时被调用

beforeRouteLeave (to, from, next) {

//第一个参数to,切换后的路由对象,需要跳到那个路由对象去,理解为你要去哪?

//第二个参数from,切换前的路由对象,跳转之前的路由对象,理解为你从哪来?

//第三个参数next(),是否往下执行,如果不写的话路由就不会跳转,操作将会终止,理解为放行

}

beforeRouteEnter()、BeforeRouterLeave(),它并不像全局前、后置守卫一样在路由组件加载完成之后调用,而是在你切换出这个组件后被调用,强调的是你“进入和离开”的动作,其次全局路由守卫的前、后置,都会被执行到,当你进去组件后组件内路由守卫beforeRouteEnter就一定会执行,但如果不离开beforeRouteLeave就不会执行到

到此这篇路由守卫面试题(什么是路由守卫 路由守卫的应用场景)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 单片机设计原理技术手册pdf(单片机原理与应用设计pdf)2026-04-19 18:27:09
  • tp9950电路设计(tpl5010应用电路)2026-04-19 18:27:09
  • 环形队列是一种什么结构(环形队列有什么应用场景)2026-04-19 18:27:09
  • max232程序(max1232应用)2026-04-19 18:27:09
  • 什么叫pass平台(pass应用平台)2026-04-19 18:27:09
  • 卸载快应用有什么危害(快应用卸载会造成什么)2026-04-19 18:27:09
  • 单片机设计原理与应用(单片机原理及程序设计)2026-04-19 18:27:09
  • 如何删除快应用程序(如何彻底删除快应用程序)2026-04-19 18:27:09
  • 人工智能十大算法(人工智能十大算法绘制模型框图)2026-04-19 18:27:09
  • 怎样删除快应用图标(怎么能把快应用删掉)2026-04-19 18:27:09
  • 全屏图片