【发布时间】:2021-10-29 02:39:03
【问题描述】:
我使用的是 Angular 8,并且我有一个 HTTPInterceptor 拦截我的应用程序中的每个 API 调用。用于错误处理和路由到/error/401 页面的目的,以防 API 返回 HTTP 401。
我在拦截方法中使用了this.route.navigate(['error', responseCode]);。我在应用模块中有以下路线
{
path: 'error/:responseCode',
component: ErrorPageComponent
}
网址正在更新为/error/401,但组件未启动。但是,如果我刷新浏览器,则会加载 ErrorPageComponent 并显示消息。
【问题讨论】:
-
您检查控制台是否有错误?还是您使用
changedetection策略? -
没有控制台错误。
-
可以分享错误组件的代码吗?
-
export class ErrorPageComponent implements OnInit { errorCode: string; constructor( private activatedRoute: ActivatedRoute ) { } ngOnInit() { this.activatedRoute.snapshot.url[1].toString(); // errorMessage display logic } } -
这工作正常,在更改我们的 html 中的一些逻辑之后,它仅在收到一些 API 响应后才加载数据,由于 HTTP 503 而失败。