我有一个kendo datagrid,我想用多个不同的kendogriddetailtemplate重复使用它
Kendo细节网格的含义类似于以下
<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的上下文未正确传递,并且会引发Follwing错误。
未找到的"未定义"的属性"名称"
也可以将模板移至其他HTML文件中?
由于您在模板声明中使用let-dataItem
而不是let-dataItem="dataItem"
,因此您需要将dataItem
设置为默认值。
<ng-container *ngTemplateOutlet="kendodetails;context={$implicit: dataItem}">
</ng-container>
通常
您可以通过let-<variable>="<field>"
声明访问context
-Object中的每个field
。但是您只能通过let-<variable>
访问默认值($implicit
)。