中间件是我们在软件开发中的一个古老而强大的概念,当我们在应用程序中使用路由相关模式时,它非常有用。
如果您不太了解中间件的含义,Nodejs框架Express里的中间件可以帮助您了解它们的工作原理。
但是,中间件仅适用于后端吗?
不,当应用程序中有路由时,中间件在前端或后端中就会非常常见。比如现在流行的单页应用程序。
有一些示例可以说明,何时可以使用中间件:
- 不允许未登录用户访问您的网页。
- 仅允许某些类型的用户查看页面(角色:管理员,作者等)
- 数据采集。
- 重置设置或清理存储空间。
- 限制访问用户的年龄。
还有一些......
那么如何在Vue中使用中间件?
感谢Vue Router,这将非常简单!因为这个插件实现了一个类似的概念,称为“导航守卫”。
导航守卫真的很棒,让我们在进入路由之前,更新之前和离开之前,可以执行一些代码逻辑。
还可以使用全局守卫。
但有时我们需要多个中间件用于同一路由,我们可以用Vue Router Multiguard包解决问题。这允许我们设置一系列守卫,如下所示:
在上边示例中可以看到,通过Vue Router Multiguard,在路由配置中应用中间件很容易。让我们再看一个简化的例子:
首先,我们定义一个模拟用户。然后假设您有一个服务,可以从全局state或其他地方获得当前用户的数据。
现在,我们可以用中间件创建我们的“真实”示例:
PS:
1. Vue Router还有组件内的守卫
- beforeRouteEnter
- beforeRouteUpdate (2.2 新增)
- beforeRouteLeave
其中beforeRouteEnter,很适合在进入页面之前去获取数据。
2. 如果你阅读了文档,你会发现你可以将下一个路由传递给 next() 函数,例如重定向到 login - next('/login')
以上就是Vue Router中应用中间件的方法的详细内容,更多关于Vue Router中应用中间件的资料请关注其它相关文章!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?