0
我想構建一個表格組件(具有標準功能),其中行應該被定義爲模板。如何在組件外定義模板
目前我試圖這樣(代碼簡化):
1)父組件
@Component({
selector: 'simple-grid',
template: `<table><tbody>
<ng-container *ngFor="let item of items; let i = index">
<template
[ngTemplateOutlet]="template"
[ngOutletContext]="{'item': item, 'i': i}">
</template>
</ng-container>
</tbody></table>
`
})
export class SimpleGridComponent {
@Input()
items: any[] = [];
@ContentChild(TemplateRef)
template: any;
}
2)的使用:
@Component({
selector: 'simple-grid',
template: `
<simple-grid [items]="users" >
<template>
<tr [class.even]="i%2==0" [class.odd]="i%2!=0">
item: {{item?.id}} {{ someProperty }} {{id}}
</tr>
</template>
</simple-grid>`
})
MyPage{
public users: Users = [{id: 1, name='one'}, {id: 2, name='two' }];
public someProperty: string = 'dummy';
}
結果:
<table>
<tbody>
<tr>
item: dummy
</tr>
<tr>
item: dummy
</tr>
<tbody>
</table>
so:
模板用於
行是正確的重複
,但我沒能表現出項目性能;行不綁定到* ngFor中的「item」,而是MyPage本身。 ps:如果我選擇帶有Augury的行,在控制檯$ a.context中正確包含 項目和索引。
我該如何解決這個問題?