html - 如何在 ionic html 页面中编写 if/else?
问题描述
我制作了一个 Ionic WordPress 应用程序,每次发布没有特色照片的帖子时都会给我一个错误。
我想要做的是过滤掉那些没有照片但我不知道如何在 Ionic中使用if/else条件的帖子。
这是home.html的代码
<ion-card *ngFor="let item of items">
<img src="{{item._embedded['wp:featuredmedia'][0].media_details.sizes.thumbnail.source_url}}"/>
<ion-card-content>
...
</ion-card-content>
</ion-card>
解决方案
如果您尝试从items
没有缩略图的项目中删除,最好在获得它们时在后端进行。
this.items = this.items.filter(function(item) {
return (item &&
item._embedded &&
item._embedded['wp:featuredmedia'] &&
item._embedded['wp:featuredmedia'][0] &&
item._embedded['wp:featuredmedia'][0].media_details &&
item._embedded['wp:featuredmedia'][0].media_details.sizes &&
item._embedded['wp:featuredmedia'][0].media_details.sizes.thumbnail &&
item._embedded['wp:featuredmedia'][0].media_details.sizes.thumbnail.source_url);
});
如果您想获取每个项目,无论是否有缩略图,但如果缩略图不存在则隐藏缩略图,*ngIf
请在您的img
标签上使用。
<ion-card *ngFor="let item of items">
<img *ngIf="item &&
item._embedded &&
item._embedded['wp:featuredmedia'] &&
item._embedded['wp:featuredmedia'][0] &&
item._embedded['wp:featuredmedia'][0].media_details &&
item._embedded['wp:featuredmedia'][0].media_details.sizes &&
item._embedded['wp:featuredmedia'][0].media_details.sizes.thumbnail &&
item._embedded['wp:featuredmedia'][0].media_details.sizes.thumbnail.source_url"
src="{{item._embedded['wp:featuredmedia'][0].media_details.sizes.thumbnail.source_url}}"/>
</ion-card>
注意:您应该检查对象的每一层的原因是因为如果缺少其中任何一层,您将收到 TypeError 说“找不到未定义的属性 X”。
推荐阅读
- rdf - 关于属性特征的问题
- vmware - 无法下载最新的 VimService.dll 文件
- docker - 如何正确共享一个 jupyter docker 来托管
- bash - Miniconda 已经在 VSCode 终端的 PATH 中,但不在系统终端中
- python - 如何将数据框的一列中的值列表平等地拆分为不同的列
- javascript - 网格/复选框选择不显示复选框
- android - 下载谷歌 API 英特尔 x86 atom 系统映像时出错
- javascript - 使用日期时间字符串设置下拉值
- vba - 如何使用 vbscript 扩展网站中的 jstree 列表项?
- devexpress - 数据库中可用的客户位置。如何将客户的位置上传到 devexpress 地图控件