vue router 权限
路由的概念
在了解如何进行权限控制之前,我们首先需要了解一些路由相关的概念。所谓路由,就是指用户打开页面时浏览器需要发送 HTTP 请求,后台服务器会根据前端传递的参数返回相应的 HTML 页面或 JSON 数据。
前端路由和后端路由
前端路由和后端路由是两种不同的路由方式。前端路由,也称为客户端路由,是通过 JavaScript 操作浏览器的 history 对象实现的。前端路由优点是用户体验好,用户不必频繁刷新页面,只需要更新局部内容。而后端路由是指在服务器端配置 URL 规则,根据不同的 URL,服务器会返回对应的HTML 页面或 JSON 数据。
路由的权限控制
假如我们的应用需要对不同的用户进行权限管理,不同的用户只能访问到对应的路由。那么我们可以通过 Vue Router 的路由守卫来实现权限的控制。在 Vue Router 中,路由守卫分为全局守卫和路由独享的守卫。
全局守卫
全局守卫就是在任意路由跳转前、后都会被执行的函数,可以在全局守卫中实现权限控制。全局守卫有 3 个函数:beforeEach、beforeResolve、afterEach。
beforeEach函数
beforeEach 函数会在每次路由跳转前触发,它的参数是 to、from 和 next。to 表示即将要跳转的路由,from 表示当前路由,next 是一个函数用来控制路由跳转,如果需要进行路由跳转,则需要调用 next 方法。
beforeResolve函数
beforeResolve 函数会在路由跳转成功之前触发,和 beforeRouteEnter 的区别是 beforeResolve 是在路由组件的异步组件加载完成之后,再进行调用的。
afterEach函数
afterEach 函数会在每次路由跳转后触发,提供一个 to 和 from 参数用来获取当前路由和上一个路由的信息。
路由独享的守卫
路由独享的守卫是指仅对当前路由起作用的守卫,其与全局守卫一样,有 3 个函数,分别是 beforeEnter、beforeRouteUpdate、beforeRouteLeave。
beforeEnter函数
beforeEnter 函数是在路由配置的时候进行设置,在进入当前路由前会执行。
beforeRouteUpdate函数
beforeRouteUpdate 函数是在当前路由组件再次被使用时触发,参数和 beforeRouteEnter 函数一样。
beforeRouteLeave函数
beforeRouteLeave 函数是在离开当前路由前触发,不同于全局守卫,这里必须要手动调用 next。
通过使用 Vue Router 的路由守卫,我们可以非常方便地实现前端路由的权限控制。当用户访问未授权的路由时,我们可以通过全局守卫或路由独享的守卫跳转到登录页面或其他需要授权的页面。这些路由的权限控制可以帮助我们实现更加安全和可靠的应用,值得我们去学习和使用。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?