美文网首页天工开物angular2angular 2+ 点点滴滴
Angular 2 中的绑定的方法在无限循环吗?

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

作者: 孙亖 | 来源:发表于2017-02-13 16:11 被阅读83次

    我在自己的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)。因此,建议不要在属性上绑定方法,因为调用太频繁了,最好预先计算好然后绑定一个值就好。

    相关文章

      网友评论

        本文标题:Angular 2 中的绑定的方法在无限循环吗?

        本文链接:https://www.haomeiwen.com/subject/tlctwttx.html