【发布时间】:2018-10-03 21:08:03
【问题描述】:
应用服务
constructor(private httpClient: HttpClient,
private router: Router
) { }
user(): Observable<any> {
return this.httpClient.get<any>('/users/details')
.pipe(
catchError(this.handleError)
);
}
private handleError(error: HttpErrorResponse){
console.log('handleError' , error);
if (error.error instanceof ErrorEvent) {
// A client-side error....
} else {
// The backend error...
console.error(
`Backend returned code ${error.status}, ` +
`body was: ${error.error}` +
` ${error.message}`
);
this.router.navigate(['/errors']);//READ HERE!!!!!
}
}
app.module.ts
@NgModule({
declarations: [
AppComponent,
HomeComponent,
LoginComponent,
UsersComponent,
ErrorComponent
],
imports: [
RouterModule.forRoot(routes),
BrowserModule,
HttpClientModule,
FormsModule
],
providers: [
AppService,
{ provide: HTTP_INTERCEPTORS, useClass: XhrInterceptor, multi: true }
],
bootstrap: [AppComponent]
})
export class AppModule { }
一个可能的问题是this 指的是错误的上下文?
【问题讨论】:
-
您是否已将RouterModule 导入到您的模块中?
-
是的...
import { Router } from '@angular/router'; -
你不是想在任何地方提供路由器吗?
-
当我说导入时,我的意思是在您的模块导入部分。 @NgModule({ 导入:[CommonModule, RouterModule
-
我已经在上面添加了我的 app.module.ts....感谢您抽出宝贵的时间
标签: javascript angular