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 相关文章推荐
20个非常棒的Jquery实用工具 国外文章
Jan 01 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
Sort()函数的多种用法
Mar 20 Javascript
jquery中each循环的简单回滚操作
May 05 jQuery
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
React通过redux-persist持久化数据存储的方法示例
Feb 14 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 Javascript
JavaScript设计模式之策略模式实现原理详解
May 29 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
Vue中component标签解决项目组件化操作
Sep 04 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
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
小程序使用wxs解决wxml保留2位小数问题
2019/12/13 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
Python subprocess模块详细解读
2018/01/29 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Python使用Pygame绘制时钟
2020/11/29 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
妇科医生自荐信
2013/11/05 职场文书
见习报告格式范文
2014/11/08 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android