返回顶部
首页 > 资讯 > 精选 >vue-router的导航守卫怎么使用
  • 872
分享到

vue-router的导航守卫怎么使用

2023-07-04 19:07:22 872人浏览 安东尼
摘要

这篇文章主要介绍了Vue-router的导航守卫怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue-router的导航守卫怎么使用文章都会有所收获,下面我们一起来看看吧。前言在浏览器中点击链接实现导航

这篇文章主要介绍了Vue-router的导航守卫怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue-router的导航守卫怎么使用文章都会有所收获,下面我们一起来看看吧。

前言

在浏览器中点击链接实现导航的方式,叫做声明式导航。例如:普通网页中点击<a>链接、vue项目中点击<router-link>都属于声明式导航。

在浏览器中调用API方法实现的导航方式,叫做编程式导航。例如:普通网页中调用loaction.href跳转到新页面的方式,属于编程式导航。

vue-router中编程式导航api

编程式路由导航作用就是不借助<router-link>实现路由跳转,让路由跳转更加灵活。

vue-router提供了许多编程式导航的API,其中最常见的导航API有以下几种:

1)this.$router.push('hash地址')

跳转到指定的 hash 地址,并增加一条历史记录

vue-router的导航守卫怎么使用

vue-router的导航守卫怎么使用

2)this.$router.replace('hash地址')

跳转到指定的 hash 地址,并替换掉当前的历史记录

vue-router的导航守卫怎么使用

vue-router的导航守卫怎么使用

3)this.$router.go(数值n)

调用this.$router.Go()方法,可以在浏览历史中前进和后退

vue-router的导航守卫怎么使用

在实际开发中,一般只会前进和后退一层页面。因此 vue-router 提供了如下两个便捷方法:

1)$router.back() 在历史记录中,后退到上一个页面。

2)$router.forward() 在历史记录中,前进到下一个页面。

这两个方法一般可以放在行内样式里面使用,更便捷一点,注意:行内样式里面就不必再写this了

导航守卫

导航守卫也叫路由守卫,可以控制路由的访问权限,示意图如下:

vue-router的导航守卫怎么使用

全局守卫

全局前置守卫:每次发生路由的导航跳转时,都会触发全局前置守卫。因此,在全局前置守卫中,程序员可以对每个路由进行访问权限的控制,那么如何创建全局前置守卫呢?如下:

vue-router的导航守卫怎么使用

全局前置守卫的回调函数中接收3个形参,如上图所示,其作用为:

to:是将要访问的路由的信息对象

from:是将要离开的路由的信息对象

next:是一个函数,调用 next() 表示放行,允许这次路由导航

next函数的3种调用方式:如下图所示

vue-router的导航守卫怎么使用

控制后台主页的访问权限

router.beforeEach(function (to, from, next) {  if (to.path === '/main') {    // 要访问后台主页,需要判断是否有token    const token = localStorage.getItem('token')    if (token) { // token值存在      next()    } else {      // 没有登录,强制跳转到登录页      next('/login')    }  } else {    next() // 访问的不是后台主页,直接放行  }})

当然我们也可以通过全局前置守卫来进行权限的查看,案例如下:

// 全局前置守卫:初始化时、每次路由切换前执行router.beforeEach((to, from, next) => {  console.log('beforeEach', to, from)  if (to.meta.isAuth) { // 判断当前路由是否需要进行权限控制    if (localStorage.getItem('token') === 'key') { // 权限控制的具体规则      next() // 放行    } else {      alert('暂无权限查看')    }  } else {    next() // 放行  }})

全局后置守卫: 全局后置守卫相对于前置守卫使用的次数相对较少,后置守卫一般使用在项目的title实时发送变化时来使用。

// 全局后置守卫,初始化时执行、每次路由切换后执行router.afterEach((to, from) => {  console.log('afterEach', to, from)  if (to.meta.title) {    document.title = to.meta.title // 修改网页的title  } else {    document.title = 'process'  }})

vue-router的导航守卫怎么使用

vue-router的导航守卫怎么使用

独享路由守卫

顾名思义独享路由守卫就是某一个路由独享的,和其他路由没关系。如下:

beforeEnter (to, from, next) {  console.log('beforeEach', to, from)  if (to.meta.isAuth) { // 判断当前路由是否需要进行权限控制    if (localStorage.getItem('admin') === 'admin123') { // 权限控制的具体规则      next() // 放行    } else {      alert('暂无权限查看')    }  } else {    next() // 放行  }}

vue-router的导航守卫怎么使用

vue-router的导航守卫怎么使用

组件路由守卫

顾名思义是在组件内部使用的守卫。如下:使用方式和上文一样,这里不在赘述。

// 通过路由规则,进入该组件时被调用beforeRouteEnter (to, from, next) { },// 通过路由规则,离开该组件时被调用beforeRouteLeave (to, from, next) { }

关于“vue-router的导航守卫怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue-router的导航守卫怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: vue-router的导航守卫怎么使用

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

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

猜你喜欢
  • vue-router的导航守卫怎么使用
    这篇文章主要介绍了vue-router的导航守卫怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue-router的导航守卫怎么使用文章都会有所收获,下面我们一起来看看吧。前言在浏览器中点击链接实现导航...
    99+
    2023-07-04
  • vue-router的导航守卫使用最新讲解
    目录前言vue-router中编程式导航API导航守卫全局守卫独享路由守卫组件路由守卫前言 在浏览器中点击链接实现导航的方式,叫做声明式导航。例如:普通网页中点击<a>链...
    99+
    2022-12-16
    vue-router导航守卫 vue-router导航守卫使用
  • Vue导航守卫怎么使用
    这篇文章主要介绍“Vue导航守卫怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue导航守卫怎么使用”文章能帮助大家解决问题。守卫参数to: 即将要进入的目标路由from: 当前导航即将要离...
    99+
    2023-07-06
  • vue的导航守卫怎么使用
    这篇文章主要讲解了“vue的导航守卫怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue的导航守卫怎么使用”吧! 导航守...
    99+
    2024-04-02
  • vue-router导航守卫的示例分析
    这篇文章将为大家详细讲解有关vue-router导航守卫的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。当做Vue-cli项目的时候需要在路由跳转前做一些验证,比...
    99+
    2024-04-02
  • Vue导航守卫使用教程详解
    目录守卫参数守卫返回值全局守卫全局前置守卫全局解析守卫全局后置钩子单个路由独享守卫组件级守卫完整的导航解析流程总结作用:通过跳转或取消的方式守卫导航 植入方式: 全局守卫单个路由独享...
    99+
    2023-05-15
    Vue导航守卫 Vue导航守卫的作用
  • vue中的导航守卫使用及说明
    目录导航守卫全局守卫独享守卫组件内守卫vue导航守卫有哪些路由的钩子函数有六个全局路由钩子函数路由内的钩子函数组件内的钩子函数总结导航守卫 作用:对路由进行权限控制分类:全局守卫、独...
    99+
    2023-01-28
    vue导航守卫 导航守卫使用 导航守卫
  • Vue中的路由导航守卫导航解析流程
    目录全局前置守卫全局解析守卫全局后置钩子路由独享的守卫组件内的守卫可用的配置 API使用组合 API完整的导航解析流程正如其名,vue-router 提供的导航守卫主要用来通过跳转或...
    99+
    2023-05-16
    Vue路由导航守卫 Vue路由守卫
  • Vue3中的导航守卫如何使用
    查看以下情形:默认情况下,点击主页链接可直接进入指定界面,但是该界面是需要用户登录后方可访问的,这是个问题可设置导航守卫来检测用户是否登录,如果已登录,则进入后台页,如果未登录,则强制进入登录页,如图二、导航守卫有哪几种?1、全局守卫(3个...
    99+
    2023-05-16
    Vue3
  • Vue路由导航守卫的示例分析
    这篇文章将为大家详细讲解有关Vue路由导航守卫的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概念:“导航”表示路由正在发生变化vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫...
    99+
    2023-06-22
  • 快速理解Vue路由导航守卫
    目录一、全局守卫 1.全局前置守卫 2.全局解析守卫 3.全局后置钩子 三、路由独享的守卫 四、组件内的守卫 五、一个完整的导航解析流程 概念: “导航”表示路由正在发生变化 vue...
    99+
    2024-04-02
  • vue-router的路由守卫是什么
    这篇文章主要介绍“vue-router的路由守卫是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue-router的路由守卫是什么”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • 关于Vue中的全局导航守卫(beforeEach、afterEach)
    目录全局导航守卫(beforeEach、afterEach)导航钩子有3个参数beforeEachafterEach全局导航守卫是干什么的?1.在router中的index.js文件...
    99+
    2024-04-02
  • Vue3中导航守卫的基本使用方法
    目录前言:一、什么是导航守卫?二、导航守卫有哪几种?1、全局守卫(3个)全局前置守卫全局解析守卫全局后置钩子2、路由独享守卫(1个)三、导航守卫的三个参数四、如何在 vue3 中使用...
    99+
    2023-03-09
    vue 导航守卫 Vue3导航守卫 vue 导航
  • 使用vue-router钩子函数怎么实现路由守卫
    这篇文章给大家介绍使用vue-router钩子函数怎么实现路由守卫,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。全局钩子函数beforeEach:beforeEach一共接收三个参数,分别是to、from、next;t...
    99+
    2023-06-14
  • vue-router的导航钩子怎么用
    这篇文章主要讲解了“vue-router的导航钩子怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router的导航钩子怎么用”吧! vue-...
    99+
    2024-04-02
  • vue-router导航钩子怎么用
    这篇文章主要介绍vue-router导航钩子怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。全局钩子1、...
    99+
    2024-04-02
  • Vue Router4路由导航守卫实例全面解析
    目录前言一、什么是导航守卫二、全局前置守卫可选的第三个参数 next三、全局解析守卫四、全局后置钩子五、路由独享的守卫六、组件内的守卫可用的配置 API使用组合 API七、...
    99+
    2022-11-16
    Vue Router4路由导航 Vue Router
  • VUE 嵌套路由的守卫钩子:控制导航和数据流
    守卫类型 Vue.js 提供了三种类型的守卫钩子,它们在路由解析的生命周期中的不同阶段触发: 全局守卫:应用于所有路由 每个路由守卫:应用于特定路由或其嵌套子路由 组件内守卫:应用于特定组件的导航钩子 导航守卫: 导航守卫控制路由之间...
    99+
    2024-04-02
  • Vue中路由守卫怎么用
    小编给大家分享一下Vue中路由守卫怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.全局守卫1.1 全局前置守卫顾名思义,前置守卫主要是在你进行路由跳转之前根据你的状态去 进行一系列操作(全局前置是为在路由初始化以及...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作