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 相关文章推荐
js显示时间 js显示最后修改时间
Jan 02 Javascript
jQuery之按钮组件的深入解析
Jun 19 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 Javascript
vue用addRoutes实现动态路由的示例
Sep 15 Javascript
react 国际化的实现代码示例
Sep 14 Javascript
VUE前后端学习tab写法实例
Aug 06 Javascript
Vue SSR 即时编译技术的实现
May 06 Javascript
vue滑动吸顶及锚点定位的示例代码
May 10 Javascript
JavaScript缺少insertAfter解决方案
Jul 03 Javascript
JavaScript中document.activeELement焦点元素介绍
Nov 27 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中取得URL的根域名的代码
2011/03/23 PHP
分享PHP header函数使用教程
2013/09/05 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
checkbox 复选框不能为空
2009/07/11 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
Python写的一个简单监控系统
2015/06/19 Python
Python反射用法实例简析
2017/12/22 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python绘制随机网络图形示例
2019/11/21 Python
Python 支持向量机分类器的实现
2020/01/15 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
教师考察材料范文
2014/06/03 职场文书
技术负责人任命书
2014/06/05 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
python中的sys模块和os模块
2022/03/20 Python
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
Python+pyaudio实现音频控制示例详解
2022/07/23 Python