我有一个配置为的路由路径:
{
path: 'user/:id/edit/:type',
component: UserEditTypeComponent,
},
我想到达拦截器的路径,可以从激活的路径访问该拦截器,如下所示:
constructor(private activatedRoute: ActivatedRoute) {
}
ngOnInit() {
console.log(this.activatedRoute.routeConfig.path);
}
这将导致在控制台中返回此路径
user/:id/edit/:type
。我想从拦截器获得与我尝试过的路径相同的路径:
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let ar = this.injector.get(ActivatedRoute);
console.log(ar.routeConfig.path);
}
这将返回错误:
Cannot read property 'path' of null
。我已经删除了路径并进行了测试,发现routeConfig
为空。我们如何在拦截器内部获取激活的路线?
还有其他方法可以在拦截器中访问
path
吗?如果问题不清楚,可以用更多信息进行更新。
最佳答案
我知道这有点晚..但是下面的方法可以解决您的问题,有类似的担忧。
constructor(private activatedRoute: ActivatedRoute) {
console.log(activatedRoute.snapshot['_routerState'].url);
}
activatedRoute.snapshot['_routerState'].url
将包含您的/user/:id/edit/:type
。关于angular - 检查拦截器的 Angular 路线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49732232/