在canActivateChild中匹配路由配置

时间:2019-05-02 15:10:38

标签: angular7 angular7-router canactivatechild

在用户登录中,我会获得用户可以访问的网址列表,网址如下所示

[
 '/site/module/customer/create',
 '/site/module/customer/edit/:id',
 '/site/module/customer/list',
 '/site/module/customer/view/:id'
]

我想用URL列表检查canActivateChild中访问URL的用户

我尝试在state.url中使用activeRoute.routeConfig.pathcanActiveChild

canActivateChild(activeRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
    console.log(state.url); 
}

上面的控制台返回/site/module/customer/edit/2,但是我需要/site/customer/edit/:id,我们如何实现呢?

我可以使用edit/:id来获取activeRoute.routeConfig.path,但是当用户刷新页面时,activeRoute.routeConfig.path具有/module/customer

下一个场景视图在辅助(命名)出口中,因此在视图中单击时,URL为http://localhost:4200/site/module/customer/list/(auxOutlet:view/6),在这里我需要进行两次匹配,如下所示:/site/module/customer/list/site/module/customer/view/:id

在此先感谢您的帮助。

0 个答案:

没有答案