我有一个Kendo DataGrid,我想重复使用多个不同的kendoGridDetailTemplate
剑道细节网格如下所示
<ng-template kendoGridDetailTemplate let-dataItem >
<div>{{dataItem.Name}}</div>
</ng-template>
我在此模板中添加了引用名称“kendodetails”。
<ng-template kendoGridDetailTemplate let-dataItem #kendodetails>
<div>{{dataItem.Name}}</div>
</ng-template>
并且正在使用
<ng-container *ngTemplateOutlet="kendodetails;context={dataItem: dataItem}">
</ng-container>
打电话到我搬到外面的模板
<kendo-grid></kendo-grid>
问题是dataItem的上下文没有正确传递,它抛出了后续错误。
未找到“未定义”的属性“名称”
如果可能的话,我还可以将模板移动到不同的html文件中吗?
由于您在模板声明中使用let-dataItem
而不是let-dataItem="dataItem"
,因此需要将dataItem
设置为默认值。
<ng-container *ngTemplateOutlet="kendodetails;context={$implicit: dataItem}">
</ng-container>
您可以通过field
声明访问context
对象中的每个let-<variable>="<field>"
。但是你只能通过$implicit
访问默认值(let-<variable>
)。