Angular 2 中的绑定的方法在无限循环吗?

前端之家收集整理的这篇文章主要介绍了Angular 2 中的绑定的方法在无限循环吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在自己的Ionic 2项目中,使用卡片列出数据:

<ion-card *ngFor="let item of inspects">

卡片中有一个导航按钮,根据每项的数据生成连接打开百度地图,我是这样绑定的:
页面

<a [href]="nav(item)" target="_blank" ion-button icon-left clear small>
        <ion-icon name="pin"></ion-icon>
        <div>导航</div>
</a>

代码

nav(item) {
    let url = `bdapp://map/navi?location=${item.lng},${item.lat}`;
    if (Device.platform == 'iOS') {
      url = `baidumap://map/direction?origin=34.264642646862,108.95108518068&destination=${item.lng},${item.lat}&mode=driving&coord_type=wgs84&src=webapp.navi.yourCompanyName.yourAppName`;
    }
    console.log(url);
    return this.sanitizer.bypassSecurityTrustResourceUrl(url);
  }

我查看console,发现一直在输出


console一直在输出

原来这是Angular2在change detection cycle中不停的调用绑定的方法nav(item)。因此,建议不要在属性上绑定方法,因为调用太频繁了,最好预先计算好然后绑定一个值就好。

猜你在找的Angularjs相关文章