替换已弃用的ViewContainerRef.parentinjector

时间:2019-05-14 17:06:14

标签: angular

升级到Angular 7后,我的代码中得到parentInjector is deprecated: No replacement。既然显然已经弃用了,为什么没有可用的更新,或者Angular团队只是错过了将其添加到文档中的原因?

我正在使用注入器动态添加dom中的组件。

const factory = this.cfr.resolveComponentFactory(modalClass);
const ref = factory.create(this.vcr.parentInjector);

1 个答案:

答案 0 :(得分:1)

  

由于显然不赞成这样做,为什么没有可用的更新,或者Angular团队只是错过了将其添加到文档中的原因?

这是API错误,应该是私有成员。依赖项注入器没有层次结构。您无法从Angular中的 injector 中获得 parent 注入器。

  

我正在使用注入器动态添加组件dom。

您应该改用this.vcr.injector。如果此更改破坏了您的源代码,则需要更改您的源代码。

GitHub问题:https://github.com/angular/angular/pull/25174

要求弃用API的请求:https://github.com/angular/angular/pull/25092#discussion_r205181787