Vue Router中应用中间件的方法


Posted in Javascript onAugust 06, 2020

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

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

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

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

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

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

还有一些......

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

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

Vue Router中应用中间件的方法

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

Vue Router中应用中间件的方法

还可以使用全局守卫。

Vue Router中应用中间件的方法

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

Vue Router中应用中间件的方法

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

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

Vue Router中应用中间件的方法

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

Vue Router中应用中间件的方法

PS:

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

  • beforeRouteEnter
  • beforeRouteUpdate (2.2 新增)
  • beforeRouteLeave

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

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

以上就是Vue Router中应用中间件的方法的详细内容,更多关于Vue Router中应用中间件的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
查找页面中所有类为test的结点的方法
Mar 28 Javascript
JavaScript中的parse()方法使用简介
Jun 12 Javascript
10个很棒的jQuery代码片段
Sep 24 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
May 10 Javascript
Vue分页组件实例代码
Apr 17 Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
Vue数据双向绑定的深入探究
Nov 27 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
vue 中Virtual Dom被创建的方法
Apr 15 Javascript
vue 父组件中调用子组件函数的方法
Jun 06 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
Sep 04 Javascript
layui内置模块layim发送图片添加加载动画的方法
Sep 23 Javascript
JavaScript的垃圾回收机制与内存管理
Aug 06 #Javascript
vue-路由精讲 二级路由和三级路由的作用
Aug 06 #Javascript
如何利用javascript接收json信息并进行处理
Aug 06 #Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
Aug 06 #Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 #Javascript
javascript实现时间日期的格式化的方法汇总
Aug 06 #Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
Aug 06 #Javascript
You might like
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
php中的ini配置原理详解
2014/10/14 PHP
php生成html文件方法总结
2014/12/01 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
Javascript的闭包
2009/12/31 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python 判断网络连通的实现方法
2018/04/22 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
Linux如何为某个操作添加别名
2013/03/01 面试题
大课间活动制度
2014/01/18 职场文书
运动会广播稿400字
2014/01/25 职场文书
社区工作感言
2014/02/21 职场文书
《学会合作》教学反思
2014/04/12 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
婚礼答谢词
2015/01/04 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫