我有一个自定义表格组件包装 mat-table,以允许传递定义表格结构(列、值类型等)的模型。表格组件有一个包含一个或多个按钮的操作列。我想ng-container
在我的视图中提供这些按钮,如下所示:
// dashboard.html
<app-table [model]="tableDefinition">
<ng-container ngProjectAs="actions">
<button mat-button (click)="doSomethingWithCellData(cell)">Click me!</button>
</ng-container>
</app-table>
然后在表格模板中渲染:
// app-table.html
<td mat-cell *matCellDef="let cell">
<ng-content select="actions"></ng-content>
</td>
问题是没有渲染...看起来与ng-content
在渲染表格行的循环内输出有关,因为如果我移到表格ng-content
外,内容会正确渲染。
这有可能实现吗?当前的替代方法是对操作列中的每个可能的按钮使用输出发射器,这会用额外的输出污染表组件,其中大部分不会在给定的表上使用。