我正在表内动态调用组件。我正在使用ViewContainerRef在模板内动态呈现组件。但是没有填充另一个元素内部的模板。可能是因为在声明@ViewChild
时,另一个ng-template不在DOM中。
这里是组件代码:
@ViewChild('loadComponent', {static: false, read: ViewContainerRef}) ref;
这是模板代码:
<ng-template #loadComponent></ng-template> // this works
<table>
...
<tr *ngFor="let data of dataItems">
<td *ngIf="data.isDisplay">
<ng-template #loadComponent></ng-template> // this does'nt work
</td>
...
因此,一旦动态评估td
代码,如何确保组件在td
内部呈现?
您可以在外部调用该模板,并且可以进行以下操作:
<td *ngIf="data.isDisplay; else loadComponent">
它应该在tr的循环中显示loadComponent的内容