在较新的 Angular 版本中替代 forwardRef?

Alternative to forwardRef in newer Angular versions?

我正在尝试将一个旧项目更新到最新版本的 Angular,我发现这一行

constructor(@Inject(forwardRef(() => MapComponent)) private map: MapComponent) {}

导致应用卡在 Loading...

TSLint 还给我以下消息:

Avoid using forwardRef() in class (no-forward-ref).

如何重写这个构造函数?

听起来您的注入设置中存在循环依赖。 forwardRef 可以解决其中一些类型的问题,因为 类 没有被提升,这可能会导致一些类型实例解析错误。您收到 tslint 错误是因为样式指南建议您重组您的应用程序以不存在依赖项解析问题,而不是依赖 forwardRef.

如果有人在您的代码前面添加了 forwardRef,那么这可能是有原因的 - 因此删除它可能会给您带来不同的错误。 我会尝试在代码中提升 MapComponent,然后删除 forwardRef 声明 - 因为我怀疑其他一些问题是停滞的根源 bootstrap 在这种情况下