独享路由守卫和组件路由守卫的顺序
时间: 2024-05-30 15:07:59 浏览: 203
Vue路由守卫之路由独享守卫
在 Angular 中,路由守卫有多种类型,其中包括独享路由守卫和组件路由守卫。
独享路由守卫是指应用于整个路由的守卫,可以用来检查用户是否有权限访问该路由。组件路由守卫是指应用于单个组件的守卫,可以用来检查用户是否可以访问该组件。
在使用独享路由守卫和组件路由守卫时,它们的执行顺序是按照以下顺序进行的:
1. 全局独享路由守卫的 `canActivate` 方法会首先执行。
2. 如果存在子路由,则会按照相同的顺序递归执行子路由的独享路由守卫。
3. 接下来,对于每个路由中的组件,都会按照以下顺序执行组件路由守卫:
* `CanDeactivate` 守卫会在组件即将被销毁时执行。
* `Resolve` 守卫会在组件被创建之前执行。
* `CanActivateChild` 守卫会在组件内嵌的子路由被激活之前执行。
* `CanActivate` 守卫会在组件被激活之前执行。
总的来说,独享路由守卫比组件路由守卫优先执行,而在组件路由守卫中,`CanDeactivate` 守卫会最先执行,而 `CanActivate` 守卫会最后执行。
阅读全文