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 的路由守卫,我们可以非常方便地实现前端路由的权限控制。当用户访问未授权的路由时,我们可以通过全局守卫或路由独享的守卫跳转到登录页面或其他需要授权的页面。这些路由的权限控制可以帮助我们实现更加安全和可靠的应用,值得我们去学习和使用。

标签:

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“vue router 权限”

暂无“vue router 权限”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。