如何在Angular 6中的解析器服务中使用路由器导航?
我正在使用下面的如何在Angular 6中的解析器服务中使用路由器导航?,angular,error-handling,router,resolver,Angular,Error Handling,Router,Resolver,我正在使用下面的ErrorHandleService,每当任何服务发生错误时都会调用它 handleError<T> (operation = 'operation', result?: T) { return (error: any): Observable<T> => { const errorBody = error.json(); const userMessage = this.getUserMessage(errorBody.error);
ErrorHandleService
,每当任何服务发生错误时都会调用它
handleError<T> (operation = 'operation', result?: T) {
return (error: any): Observable<T> => {
const errorBody = error.json();
const userMessage = this.getUserMessage(errorBody.error);
if (error.status === 403 || error.status === 404) {
this.router.navigate(['error']);
} else {
if (userMessage === 'Es ist leider ein Fehler aufgetreten, bitte versuchen Sie es erneut') {
this.logError(operation, errorBody.error).subscribe();
console.log('An error has occured: ' + operation + ' (' + error.status + ')');
}
return throwError(userMessage);
}
};
Router.navigate
是一种方法,而不是数组。试着用你的名字来称呼它
this.router.navigateByUrl('error');
而不是this.router.navigate['error']
this.router.navigateByUrl('error');