【发布时间】:2021-04-15 02:42:20
【问题描述】:
我是 Angular 的初学者,为此我尝试在应用程序中实现全局错误处理,我创建了 appErrorHandler 类并实现了 ErrorHandler,并在该类上注入了 Toast 服务,但它向我显示了上述错误。 AppErrorHandler 类。
@Injectable()
export class AppErrorHandler implements ErrorHandler {
constructor(private toastService: ToastrService) {}
handleError(error: any): void {
this.toastService.error("An unexpected error","Error");
}
}
应用模块
providers: [
{ provide: ErrorHandler, useClass: AppErrorHandler },
MakeService
],
imports: [
BrowserAnimationsModule,
ToastrModule.forRoot(
{
timeOut: 6000,
positionClass: 'toast-bottom-right',
preventDuplicates: true,
}
),
RouterModule.forRoot([
{ path:'', component:HomeComponent },
{ path:'vehicle-form', component:VehicleFormComponent },
]),
],
【问题讨论】:
-
你是不是在
AppErrorHandler的@Injectable装饰器中缺少{providedIn: 'root'}? -
没有区别
-
我明白了……你有没有机会在 stackblitz 中复制这个东西?那真的很有帮助:)
-
要处理这种情况,您可以使用两种方法 - 利用HttpInterceptor 例如:Example-HttpInterceptor - 创建因子方法例如:Resolve-Circular-Dependency
标签: angular asp.net-core dependency-injection angular10