获取AppComponent ViewContainerRef

问题描述 投票:0回答:2

我正在寻找一种从服务中获取AppComponent ViewContainerRef的方法。

我在网上找到了代码,如this codethis codethis issue,但它们都是针对Angular的早期版本(我使用的是版本6)。

我想得到这个参考,而不必通过设置器自己设置。

现在,我必须将ViewContainerRef注入AppComponent并将其提供给服务。

我希望从服务中直接获得引用,只是注入的提供者,这是一种类似的东西

  constructor(
    private applicationRef: ApplicationRef
  ) {
    this.viewContainerRef = applicationRef.getAppViewRef();
  }

用例是创建组件并将其附加到文档,在body级别或AppComponent级别;这将允许我创建通知,对话框......

angular typescript angular6
2个回答
1
投票

您可以像在您提供的链接中一样使用它。我在这里创建了一个stackblitz:https://angular-5lhjkq.stackblitz.io在AppService中我注入ApplicationRef并使用attachViewI将AppComponent中的DummyComponent添加到body应用程序中。

这项工作似乎与以前的版本完全一样。


0
投票

由于我无法解决我的问题,我正在回答它。

对于那些寻找类似东西的人来说,Thoughtram's Dominic Elm是使用CDK的Overlays和Portals的一个非常好的例子。

我没有寻找对根组件的引用,而是通过它动态地将组件附加到应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.