在我的角度应用程序中,我正在处理许多在运行时动态呈现的组件,但是我必须在运行时将其注入之前指定组件,是否可以通过将其名称作为字符串来加载组件...
说...我有两个组件FirstComponent
和SecondComponent
我可以将它们的名称存储在数组中,并且它们可以通过用户操作来决定要呈现的组件,并且如果不希望使用名称或类似条件的条件。我希望某些东西可以通用运行,以防我更改数组或向数组添加新组件,而我不想更改所写的代码。
非常感谢...
我正在使用ng-dynamic-component
向页面添加动态组件,
如果该库有办法实现它。
答案 0 :(得分: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);
});