我想在我的模板和 PrimeNg 的 TurboTable 之间创建一个新的“层”,以使用我编写的其他功能和特性,所以我想将两个传递ng-template
给我自己的组件,然后从它传递给p-table
,但它不起作用。
在我的app.component.html
:
<my-table>
<ng-template #tableHeader pTemplate="header">
<tr>
<th>Vin</th>
<th>Color</th>
<th>Year</th>
</tr>
</ng-template>
<ng-template #tableBody pTemplate="body" let-rowData>
<tr>
<td>{{rowData.vin}}</td>
<td>{{rowData.color}}</td>
<td>{{rowData.year}}</td>
</tr>
</ng-template>
</my-table>
在my-table.component.html
:
<p-table [value]="cars" sortField="brand" sortMode="single">
<ng-template [ngTemplateOutlet]="tableHeader" ></ng-template>
<ng-template [ngTemplateOutlet]="tableBody"></ng-template>
</p-table>
在my-table.component.ts
我有这些:
@ContentChild('tableHeader')
private tableHeader: TemplateRef<any>;
@ContentChild('tableBody')
private tableBody: TemplateRef<any>;
我得到的错误:
ERROR TypeError: Cannot read property 'vin' of undefined.
为什么p-table
不能使用let-rowData
from app.component.html
?有什么解决办法吗?