0

在我的角度应用程序中,我正在处理许多在运行时动态呈现的组件,但我必须在编译之前指定组件以在运行时注入它,是否可以通过其名称作为字符串加载组件...说...我有两个组件FirstComponent并且 SecondComponent我可以将它们的名称存储在一个数组中,并且它们通过用户操作决定要呈现哪个组件,并且它不想在名称上使用 if 条件或类似的东西。我想要一些通用的东西,以防我更改数组或向数组中添加新组件,我不想更改编写的代码。非常感谢...我正在使用ng-dynamic-component向页面添加动态组件,如果有办法让这个库实现它。

4

1 回答 1

0

您可以使用ViewContainerRef

在他的教程中有很好的解释。

https://medium.com/front-end-weekly/dynamically-add-components-to-the-dom-with-angular-71b0cb535286

    classNames.forEach(type=> {
           const factory = this.resolver.resolveComponentFactory(type);
           const compRef = this.vcRef.createComponent(factory);
             });
  • vcRef引用 ViewContainerRef 的对象。
  • resolver指的是 ComponentFactoryResolver
于 2019-11-12T14:11:49.480 回答