作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我有这个代码:
import {Injectable, ExceptionHandler, SkipSelf, Host, Optional} from '@angular/core';
import {ToastNotification} from '../toast-messages/toastNotification.service';
export class UIError extends Error {
constructor (private toastMessage: string) {
super();
this.toastMessage = toastMessage;
}
}
export class MyUIError extends UIError {}
export class AnotherError extends UIError {}
export class _ArrayLogger {
res = [];
log(s: any): void { this.res.push(s); }
logError(s: any): void { this.res.push(s); }
logGroup(s: any): void { this.res.push(s); }
logGroupEnd() {};
}
export class ConsoleLogger {
log(s: any): void {console.log(s);}
}
@Injectable()
export class CustomExceptionHandler extends ExceptionHandler {
constructor(private logger: ConsoleLogger, private toast: ToastNotification) {
super (new _ArrayLogger(), true);
}
call(exception: any, stackTrace = null, reason = null) {
let self = this;
if (exception.originalException instanceof UIError) {
self.toast.Error(exception.originalException.toastMessage);
} else {
this.logger.log(exception);
}
}
}
当我尝试运行它时,我遇到了 toast 问题:ToastNotification。我得到的错误是:
zone.js:260Uncaught EXCEPTION: Error during instantiation of ApplicationRef_! (ApplicationRef -> ApplicationRef_).
ORIGINAL EXCEPTION: Cannot instantiate cyclic dependency! (ExceptionHandler -> ToastNotification)
ORIGINAL STACKTRACE:
Error: DI Exception
at CyclicDependencyError.BaseException
我也在 boostrap 中注入(inject)了这个组件。如何解决?
这个问题在这里已经有了答案: DI with cyclic dependency with custom HTTP and ConfigService (1 个回答) 关闭 6 年前。 我有这个代码
我是一名优秀的程序员,十分优秀!