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 相关文章推荐
解密效果
Jun 23 Javascript
Javascript Cookie读写删除操作的函数
Mar 02 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
from 表单提交返回值用post或者是get方法实现
Aug 21 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
Nov 06 Javascript
关于function类中定义变量this的简单说明
May 28 Javascript
基于zepto.js简单实现上传图片
Jun 21 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
Oct 01 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 Javascript
vue如何使用模拟的json数据查看效果
Mar 31 Vue.js
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缓存函数的使用说明
2013/05/10 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
php提高网站效率的技巧
2015/09/29 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
Javascript实现页面跳转的几种方式分享
2013/10/26 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
python实现的简单RPG游戏流程实例
2015/06/28 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
Python中文编码知识点
2019/02/18 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
python爬虫要用到的库总结
2020/07/28 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
连锁经营管理专业大学生求职信
2013/10/30 职场文书
学生会主席事迹材料
2014/01/28 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2015年乡镇人大工作总结
2015/04/22 职场文书
医生行业员工的辞职信
2019/06/24 职场文书