如果标签不存在,则设置占位符图像离子2角度2

时间:2017-01-19 22:58:30

标签: html angularjs ionic-framework

在以xml格式解析rss feed时,我会在标记url内显示attibute <enclosure>中包含的图像,但是每当标记框丢失,因为文章没有图像,我在控制台中收到错误说:

Cannot read property 'getAttribute' of undefined

我尝试使用onError内的src函数解决此问题,但是当标记丢失时,我仍然在控制台中收到错误,并且未显示占位符图像。

这是我的html文件:

<ion-header>
  <ion-navbar color="primary">
    <ion-title text-center>
      App Name
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content>
  <ion-list>
    <ion-item *ngFor="let entry of entries" (click)="openPage(entry)" text-wrap>
      <ion-thumbnail>
        <img class="imgmg" src="{{entry.getElementsByTagName('enclosure')[0].getAttribute('url')}}" onError="this.src='assets/images/placeholder_image.png';" >
      </ion-thumbnail>
      <h2 class="title">{{entry.getElementsByTagName('title')[0].textContent}}</h2>
    </ion-item>
  </ion-list>
</ion-content>

1 个答案:

答案 0 :(得分:2)

您可以使用*ngif。例如:

<img *ngIf="entry.getElementsByTagName('enclosure')[0].getAttribute('url')" class="imgmg" src="{{entry.getElementsByTagName('enclosure')[0].getAttribute('url')}}">
<img *ngIf="!entry.getElementsByTagName('enclosure')[0].getAttribute('url')" class="imgmg" src="assets/images/placeholder_image.png">

还要检查此link

编辑:

<img *ngIf="image_available" class="imgmg" src="{{entry.getElementsByTagName('enclosure')[0].getAttribute('url')}}">
<img *ngIf="!image_available" class="imgmg" src="assets/images/placeholder_image.png">