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