angualr路由守卫

路由守卫就是保证在特定条件下才路由到某个页面。

具体的使用场景如下:

angualr路由守卫

路由守卫有以下3种:

angualr路由守卫

第1种,满足条件时才导航到目的路由。第2种,在a页面处理完成后,才能离开a页面。第3种,在页面显示之前,提前加载好数据。

 

以CanActivate为例:

写好LoginGuard类,在路由配置中配置好。如下所示:注意看红色箭头部分,一个都不能少。

angualr路由守卫

 

以下是LoginGuard代码部分:

angualr路由守卫

它实现了CanActivate类,该类中用随机数决定路由跳转到商品详情组件与否。

 

理解的重点在于:canActivate()函数返回值的true或false,返回true才会跳转到对应路由,同理其他类型的路由守卫一样,也是实现对应的类,再实现其中的函数,当函数返回值为true时,再执行对应的操作。