Angular 2 中的綁定的方法在無限循環(huán)嗎?

我在自己的Ionic 2項目中,使用卡片列出數(shù)據(jù):

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

卡片中有一個導(dǎo)航按鈕,根據(jù)每項的數(shù)據(jù)生成連接打開百度地圖,我是這樣綁定的:
頁面:

 <a [href]="nav(item)" target="_blank" ion-button icon-left clear small>
        <ion-icon name="pin"></ion-icon>
        <div>導(dǎo)航</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,發(fā)現(xiàn)一直在輸出:

console一直在輸出

原來這是Angular2在change detection cycle中不停的調(diào)用綁定的方法nav(item)。因此,建議不要在屬性上綁定方法,因為調(diào)用太頻繁了,最好預(yù)先計算好然后綁定一個值就好。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容