Kendo UI 网格 - 如何在 ng-template 中显示图像
Kendo UI grid - how to display an image in ng-template
基本上我们有一个图像存在于我们网络服务器的 ./assets
文件夹中。
逻辑是:如果存在则在网格中显示患者图像,否则渲染默认图像0.jpg
。
这是我的 Kendo UI 网格列,用于显示患者图像 - 如果它存在:
<kendo-grid-column>
<ng-template kendoGridCellTemplate let-dataItem>
<img *ngIf="'./assets/profiles/patients/' + dataItem.PatientID + '.jpg'" src="{{ './assets/profiles/patients/' + dataItem.PatientID + '.jpg'}}" height="40" width="40" style="border-radius:30px;" alt="Patient Image"/>
</ng-template>
</kendo-grid-column>
这里有一个结合逻辑的想法,渲染患者图像或默认图像:
<kendo-grid-column>
<ng-template kendoGridCellTemplate let-dataItem>
<img src="{{ './assets/profiles/patients/' + dataItem.PatientID + '.jpg' ? './assets/profiles/patients/' + dataItem.PatientID + '.jpg' : defPatientImage}}"
height="40" width="40" style="border-radius:30px;" alt="Patient Image"/>
</ng-template>
</kendo-grid-column>
问题(在两个示例中)是它总是尝试显示患者图像。
所以我当然会收到类似这样的控制台错误:
GET http://localhost:4200/assets/profiles/patients/789456.jpg 404 (Not Found)
注意:我的网格数据集中没有图像路径数据。现在我必须直接进入 assets
文件夹(这是一个原型)。
知道我的 ngIf
声明有什么问题吗?
谢谢。
我没有意识到解决方案真的很简单。我只需要 img
标签本身的 onerror
事件。
<kendo-grid-column>
<ng-template kendoGridCellTemplate let-dataItem>
<img src="{{ './assets/profiles/patients/' + dataItem.PatientID + '.jpg' }}"
onerror=" this.src = './assets/profiles/patients/0.jpg' "
height="40" width="40" style="border-radius:30px;" alt="Patient Image"/>
</ng-template>
</kendo-grid-column>
基本上我们有一个图像存在于我们网络服务器的 ./assets
文件夹中。
逻辑是:如果存在则在网格中显示患者图像,否则渲染默认图像0.jpg
。
这是我的 Kendo UI 网格列,用于显示患者图像 - 如果它存在:
<kendo-grid-column>
<ng-template kendoGridCellTemplate let-dataItem>
<img *ngIf="'./assets/profiles/patients/' + dataItem.PatientID + '.jpg'" src="{{ './assets/profiles/patients/' + dataItem.PatientID + '.jpg'}}" height="40" width="40" style="border-radius:30px;" alt="Patient Image"/>
</ng-template>
</kendo-grid-column>
这里有一个结合逻辑的想法,渲染患者图像或默认图像:
<kendo-grid-column>
<ng-template kendoGridCellTemplate let-dataItem>
<img src="{{ './assets/profiles/patients/' + dataItem.PatientID + '.jpg' ? './assets/profiles/patients/' + dataItem.PatientID + '.jpg' : defPatientImage}}"
height="40" width="40" style="border-radius:30px;" alt="Patient Image"/>
</ng-template>
</kendo-grid-column>
问题(在两个示例中)是它总是尝试显示患者图像。
所以我当然会收到类似这样的控制台错误:
GET http://localhost:4200/assets/profiles/patients/789456.jpg 404 (Not Found)
注意:我的网格数据集中没有图像路径数据。现在我必须直接进入 assets
文件夹(这是一个原型)。
知道我的 ngIf
声明有什么问题吗?
谢谢。
我没有意识到解决方案真的很简单。我只需要 img
标签本身的 onerror
事件。
<kendo-grid-column>
<ng-template kendoGridCellTemplate let-dataItem>
<img src="{{ './assets/profiles/patients/' + dataItem.PatientID + '.jpg' }}"
onerror=" this.src = './assets/profiles/patients/0.jpg' "
height="40" width="40" style="border-radius:30px;" alt="Patient Image"/>
</ng-template>
</kendo-grid-column>