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 相关文章推荐
URL地址中的#符号使用说明
Feb 12 Javascript
使用JSLint提高JS代码质量方法分享
Dec 16 Javascript
javascript如何实现暂停功能
Nov 06 Javascript
详解JavaScript的变量和数据类型
Nov 27 Javascript
浅谈Sticky组件的改进实现
Mar 22 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
JS脚本实现定时到网站上签到/签退功能
Apr 22 Javascript
Element Input输入框的使用方法
Jul 26 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 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/06/08 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
详解php中的implements 使用
2017/06/13 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
Python数据库小程序源代码
2019/09/15 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
临床护士自荐信
2014/01/31 职场文书
团队激励口号
2014/06/06 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
历史博物馆观后感
2015/06/05 职场文书
小学英语听课心得体会
2016/01/14 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
php png失真的原因及解决办法
2021/10/24 PHP