基本上不是这样做:

class Controller implements AfterViewInit{
  @ViewChild(IconComponent)
  iconComponent: IconComponent;

  ngAfterViewInit() {
    iconComponent.save();
  }

}

我想得到一个这样的组件:

class Controller implements AfterViewInit{

  ngAfterViewInit() {
    const iconComponent = someRef.get(IconComponent); // where to get this component from
    iconComponent.save()
  }

}

我如何实现这一目标?

我问这个问题是因为我在运行时获得了组件类型,而不是编译时。

最佳答案

为什么不使用提供的 ComponentFactoryResolver 创建组件?

通过这种方式,您可以获取其 componentRef 并管理其实例。

这是 ComponentFactoryResolver 的文档,您可以在那里找到一个很好的实现 example

关于angular - 如何动态获取子组件而不是使用@ViewChild,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55606777/

10-09 23:00