Angular 2:当元素出现在屏幕上时执行一个函数

时间:2016-06-02 14:25:27

标签: javascript angular

使用Angular 2,当元素出现在屏幕上时,如何执行功能?具有良好的表现。

上下文如下:我有一个循环,当元素出现在屏幕上时,我想从控制器执行一个函数。

<ion-list>
    <button ion-item *ngFor="#item of items" (click)="itemTapped($event, item)">
      <ion-icon name="{{item.icon}}" item-left></ion-icon>
      {{item.title}}
      <div class="item-note" item-right>
        {{item.note}}
      </div>
      <img [src]="item.imageSrc">
    </button>
  </ion-list>

使用Angular 1,我使用了ng-init和函数“article.getImg()”以及不同的上下文(不是一次显示所有图像)

<img ng-show="article.hasImage" ng-init="article.imageLookedFor == false ? article.getImg() : null" ng-src="{{article.imageSrc}}" imageonloadheadline />

1 个答案:

答案 0 :(得分:3)

<img>元素有一个可以收听的load事件:

<img [src]="item.imageSrc" (load)="doSomething()">

另见Remove image when loading a new one?