如何在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');