【发布时间】:2019-03-03 09:54:01
【问题描述】:
想象一下,我有一个带有可扩展行的通用表格组件,我需要从使用该表格的组件内将另一个动态内容(在本例中为动态 SVG)注入到这个可扩展行中。
示例:
my-table.component.html
// my-table-component
...
<ng-container matColumnDef="expandedDetail">
<mat-cell *matCellDef="let detail; let i = index;">
<ng-container>
<div>
<ng-content>here goes an SVG</ng-content>
</div>
</ng-container>
</mat-cell>
</ng-container>
...
my-parent.component.html
<my-table *ngIf="tableData" [dataSource]="tableData [tableConfig]="tableConfig">
<!-- this should go to ng-content in my-table with row specific data -->
<my-svg [data]="my--data | async" [options]="my-options"> </my-svg>
</my-table>
这里的问题是,
-
ng-content仅用于静态内容,因此select属性不能保存动态值。 - 只有最后一行包含内容,因此动态 SVG 仅在最后一行可见。
我们也尝试过 ViewChild 和 templateRef 并没有得到解决方案。你有什么想法吗?
【问题讨论】:
标签: angular typescript angular-components