我正在实施Angular ErrorHandler类。
在app.module.ts
提供商中我有:
{ provide: ErrorHandler, useClass: GlobalErrorHandler },
然后在实现的类GlobalErrorHandler中,我有:
@Injectable()
export class GlobalErrorHandler implements ErrorHandler {
public errorAdded$: EventEmitter<string>;
constructor(private injector: Injector) {
this.errorAdded$ = new EventEmitter();
}
当我尝试从其他服务中引用errorAdded$
属性时,TypeScript会抱怨:
@Injectable()
export class AlertService {
private subject = new Subject<Alert>();
private keepAfterRouteChange = false;
constructor(private router: Router, private errorService: ErrorHandler) {
errorService.errorAdded$.subscribe((error) => this.error(error));
}
//...
}
如果我尝试注入GlobalErrorHandler,我会收到错误消息。
如何正确引用errorAdded$
(GlobalErrorHandler类注入其他类时的属性?)