Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在Vue Router中应用中间件

如何在Vue Router中应用中间件

作者头像
前端知否
发布于 2020-03-23 09:57:01
发布于 2020-03-23 09:57:01
1.2K0
举报
文章被收录于专栏:前端知否前端知否

中间件是我们在软件开发中的一个古老而强大的概念,当我们在应用程序中使用路由相关模式时,它非常有用。

如果您不太了解中间件的含义,Nodejs框架Express里的中间件可以帮助您了解它们的工作原理。

但是,中间件仅适用于后端吗?

不,当应用程序中有路由时,中间件在前端或后端中就会非常常见。比如现在流行的单页应用程序。

有一些示例可以说明,何时可以使用中间件:

  • 不允许未登录用户访问您的网页。
  • 仅允许某些类型的用户查看页面(角色:管理员,作者等)
  • 数据采集
  • 重置设置或清理存储空间。
  • 限制访问用户的年龄。

还有一些......

那么如何在Vue中使用中间件?

感谢Vue Router,这将非常简单!因为这个插件实现了一个类似的概念,称为“导航守卫”。

导航守卫真的很棒,让我们在进入路由之前,更新之前和离开之前,可以执行一些代码逻辑。

还可以使用全局守卫。

但有时我们需要多个中间件用于同一路由,我们可以用Vue Router Multiguard包解决问题。这允许我们设置一系列守卫,如下所示:

在上边示例中可以看到,通过Vue Router Multiguard,在路由配置中应用中间件很容易。让我们再看一个简化的例子:

首先,我们定义一个模拟用户。然后假设您有一个服务,可以从全局state或其他地方获得当前用户的数据。

现在,我们可以用中间件创建我们的“真实”示例:

PS:

1. Vue Router还有组件内的守卫

  • beforeRouteEnter
  • beforeRouteUpdate (2.2 新增)
  • beforeRouteLeave

其中beforeRouteEnter,很适合在进入页面之前去获取数据。

2. 如果你阅读了文档,你会发现你可以将下一个路由传递给 next() 函数,例如重定向到 login - next('/login')


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端知否 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue全家桶之vue-router
vue-router默认是通过哈希路由的方式实现的。这是一种比较low的方式。 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。 使用后对搜索引擎比较友好,好看。缺点是后端要nginx配置。
一粒小麦
2019/07/18
1.3K0
vue全家桶之vue-router
vue-router源码解读
简单来说,路由就是用来和后端服务器进行交互的一种方式,通过不同的路径,请求不同的资源,请求不同的页面是路由的其中一种功能。
Careteen
2022/02/14
1.2K0
vue router 导航守卫生命周期
导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。(记住参数或查询的改变并不会触发进入/离开的导航守卫。你可以通过观察$route对象来应对这些变化,或使用beforeRouteUpdate的组件内守卫。)
shirishiyue
2018/11/21
3K0
【Vue Router】010-导航守卫
“导航”,表示路由正在发生改变。vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。主要用于在导航过程中重定向和取消路由,或者添加权限验证、数据获取等业务逻辑。
訾博ZiBo
2025/01/06
1100
【Vue Router】010-导航守卫
Vue Router 详解
Vue Router 是 Vue.js 生态系统中的一个核心插件,旨在帮助开发者轻松地在单页面应用程序 (SPA) 中实现路由功能。在这篇博客中,我们将深入探讨 Vue Router 的各个方面,包括其基本概念、配置和高级用法。
繁依Fanyi
2024/08/04
1390
「vue基础」Vue Router 使用指南下篇
大家好,在上一篇系列文章里《「vue基础」Vue Router 使用指南上篇》,我们一起学习了路由的基本配置,如何创建路由和传参,本篇文章我们一起学习下 Navigation 导航和路由守卫的相关内容。
前端达人
2019/12/02
1.6K0
「vue基础」Vue Router 使用指南下篇
超详细!Vue-Router手把手教程
最近在重温vue全家桶,再看一遍感觉记忆更深刻,所以专门记录一下(本文vue-router版本为v3.x)。
全栈程序员站长
2022/09/07
2.1K0
vue-router 导航(守卫)钩子
路由的导航守卫顾名思义就是控制路主要用来通过跳转或取消的方式守卫导航。总的来说总共有三种,分别是:
OECOM
2020/07/01
1K0
vue-router详解及实例
用户进行了交互操作,现在要对页面内容进行变更,可以通过javascript进行动态替换DOM,但是其不便于分享、收藏,对于搜索引擎和用户来说都是不友好的!
奋飛
2019/08/14
3K0
Vue官方路由管理器Vue-router入门教程
前几天写了 Vue状态管理模式:Vuex入门教程 ,今天再整理一下 Vue Router 的入门笔记。
德顺
2020/12/07
2.5K0
# Vue-router 原理解析
abstract 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。
九旬
2023/10/18
3550
VUE框架:vue2转vue3全面细节总结(2)导航守卫
全局前置守卫通常用来做权限控制,使用 router.beforeEach 即可添加:
淼学派对
2023/10/14
4180
VUE框架:vue2转vue3全面细节总结(2)导航守卫
vue项目创建步骤 和 路由router知识点
1、创建一个vue项目步骤 (windows环境下)。创建vue项目前,检查系统是否具备创建项目的条件(是否已经安装好了node.js、webpack、vue-cli)。cmd打开终端。
tandaxia
2020/02/10
2.1K0
Vue Router 10 条高级技巧
针对复用组件(只是路由参数发生改变),生命周期函数钩子不会被调用,如何能刷新组件了?
皮小蛋
2021/05/06
1.3K0
Vue Router 10 条高级技巧
Vue-router 基础用法
组件复用时嵌套,局部组件更新时,容器create不动,可以通过监听$route变化实现
Cellinlab
2023/05/17
1950
路由守卫
相信大家也知道大部分的网页版引应用,“不登录就不给看!”,于是,我也给自己的项目添加了这个小细节。如何实现呢?当然是使用路由守卫啦。
橘子君丶
2023/03/06
9940
路由守卫
Vue router 应用问题记录
beforeRouteEnter/beforeRouteUpdate/beforeRouteLeave
luciozhang
2023/04/22
7060
VueRouter导航守卫
vue-router提供的导航守卫主要用来通过跳转或取消的方式守卫导航,简单来说导航守卫就是路由跳转过程中的一些钩子函数,路由跳转是一个大的过程,这个大的过程分为跳转前中后等等细小的过程,而在每一个过程中都有钩子函数,这些钩子函数能使我们在这些过程中进行一些操作,这就是导航守卫。
WindRunnerMax
2020/11/04
1.4K0
一文详解:Vue3中使用Vue Router
为了便于我们后面代码维护和管理,我们一般将路由相关的代码统一放到一个文件夹中。因此,配置Vue Router的步骤如下:
九仞山
2023/10/14
3.8K0
vue-router 用法详解
将组件(components)映射到路由(routes),然后告诉 vue-router 在哪里渲染它们。
青梅煮码
2023/01/31
2.6K0
相关推荐
vue全家桶之vue-router
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档