gpt4 book ai didi

angular - Angular 7 中的多个 NgTemplate

转载 作者:行者123 更新时间:2023-12-05 05:12:08 25 4
gpt4 key购买 nike

我有 Angular 7 项目。我写了<ng-template>它正在发送我的 rowData .当我写一个 ng-template如下所示,一切正常。但是,我需要多个 ng-template。我试过类似下面的东西。但是,我无法执行。我怎样才能做到这一点?




这个工作完美

app.grid.component.html

<ng-template pTemplate="body" let-rowData>
<tr>
<td *ngFor="let col of Columns" class="ui-resizable-column">
<span>{{rowData[col.field]}}</span>
</td>
<td>
<ng-template *ngTemplateOutlet="templateRef; context : {rowData : rowData}"></ng-template>
</td>
</tr>
</ng-template>

app.grid.component.ts

export class GridComponent implements OnInit {
@ContentChild(TemplateRef) templateRef: TemplateRef<any>;
}

我的组件.html

 <app-grid>
<ng-template let-rowData="rowData">
<button type="button" label="Update" (click)="update(rowData)"
</ng-template>
</app-grid>



但我想要多个,如下所示

app.grid.component.html

<ng-template pTemplate="body" let-rowData>
<tr>
<td *ngFor="let col of Columns" class="ui-resizable-column">
<span>{{rowData[col.field]}}</span>
</td>
<td>
<ng-template *ngTemplateOutlet="templateRef; context : {rowData : rowData}"></ng-template>
</td>
<td>
<ng-template *ngTemplateOutlet="templateRef2; context : {rowData : rowData}"></ng-template>
</td>
</tr>
</ng-template>

app.grid.component.ts

export class GridComponent implements OnInit {
@ContentChild(TemplateRef) templateRef: TemplateRef<any>;
@ContentChild(TemplateRef) templateRef2: TemplateRef<any>;
}

我的组件.html

 <app-grid>
<ng-template let-rowData="rowData" [ngForTemplate]="templateRef">
<button type="button" label="Delete" (click)="delete(rowData)"></button>
</ng-template>
<ng-template let-rowData="rowData" [ngForTemplate]="templateRef2">
<button type="button" label="Update" (click)="update(rowData)"></button>
</ng-template>
</app-grid>

最佳答案

我找到了答案。您可以从这个 stackblitz 链接中看到。 (这个 stackblitz 并不完全相同。但逻辑完全相同。)

STACKBLITZ

关于angular - Angular 7 中的多个 NgTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com