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 相关文章推荐
JavaScript实际应用:innerHTMl和确认提示的使用
Jun 22 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
Jul 07 Javascript
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
javascript Promise简单学习使用方法小结
May 17 Javascript
IScroll5 中文API参数说明和调用方法
May 21 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
详解微信小程序 相对定位和绝对定位
May 11 Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 Javascript
JavaScript修改注册表实例代码
Jan 05 Javascript
javascript+Canvas实现画板功能
Jun 23 Javascript
Vue Mint UI mt-swipe的使用方式
Jun 05 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程序
2006/10/09 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
js常用排序实现代码
2010/12/28 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python各类经纬度转换的实例代码
2019/08/08 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
python 利用zmail库发送邮件
2020/09/11 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
管道维修工岗位职责
2013/12/27 职场文书
贷款委托书范本
2014/04/08 职场文书
专业见习报告范文
2014/11/03 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python