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

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


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

 
        
        
导航

代码:

  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,发现一直在输出:

Angular 2 中的绑定的方法在无限循环吗?_第1张图片
console一直在输出

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

你可能感兴趣的:(Angular 2 中的绑定的方法在无限循环吗?)