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 获取网页参数系统
Jul 19 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
Jan 15 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
Dec 23 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
JavaScript函数内部属性和函数方法实例详解
Mar 17 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
vue 2.0项目中如何引入element-ui详解
Sep 06 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
Jun 02 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 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中static静态变量的使用方法详解
2010/06/04 PHP
php生成圆角图片的方法
2015/04/07 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
详解Angular2 之 结构型指令
2017/06/21 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
Python装饰器的函数式编程详解
2015/02/27 Python
Python_LDA实现方法详解
2017/10/25 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
Python类反射机制使用实例解析
2019/12/30 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
社区科普工作方案
2014/06/03 职场文书
班级口号大全
2014/06/09 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python