Angular 2で解決に失敗した場合、別のページにリダイレクトするにはどうすればよいですか?編集ページでこの解決を呼び出しますが、解決ページでエラーを処理したいです
私の決意:
resolve(route: ActivatedRouteSnapshot): Promise<any>|boolean {
return new Promise((resolve, reject) => {
if (route.params['id'] !== undefined) {
this.dataService.getHttpEmpresaShow(this.endpoint_url_Get + route.params['id'])
.subscribe(
result => {
console.log("ok");
return resolve(result);
},
error => {
return resolve(error);
});
}});
ベストアンサー1
と同じようにドキュメント内、呼び出しthis.router.navigate(["url"])
...(Router
コンストラクターに注入することを検討してください)
class MyResolve {
constructor(private router: Router) {}
resolve(route: ActivatedRouteSnapshot): Observable <any> {
return this.dataService.getHttpEmpresaShow(this.endpoint_url_Get + route.params['id'])
.pipe(catchError(err => {
this.router.navigate(["/404"]);
return EMPTY;
}));
}
}