טייפסקריפט - *ngFor מריץ לולאה אינסופית באנגלר2
אני מנסה להציג את מאפייני האובייקט באמצעות מפתחות ב-Angular2 באמצעות הקוד שלמטה:
<ul>
<li *ngFor="let element of componentModel | keys;let i=index">
{{element.key}}--{{element.value}} // 1---Bhushan...loaded only once
<span *ngIf="element">{{ loadProperty(i,element) }}</span>
</li>
</ul>
אבל אני מתמודד עם בעיה כאן. הפלט בדפדפן נטען רק פעם אחת. אבל קריאת המתודה כלומר loadProperty(i,element) רצה בלולאה אינסופית.
loadProperty(i:number,element:any){
console.log(element.key+'========'+element.value);
console.log(element);
}
מתכוון לפלט בדפדפן
(1---בזושאן)
מציגים רק פעם אחת אך בקונסולה זה רץ ללא סוף כמו למטה:
אני רוצה לקרוא למתודה הזו פעם אחת בלבד בכל איטרציה.
יש לכם משוב?
תשובה #1
זה פשוט זיהוי שינויים של Angular2 בעבודה שקורא ל-loadProperty(i,element) שוב ושוב בכל מחזור של זיהוי שינויים.
קריאה לפונקציות מהתבנית אינה מומלצת מכיוון שהן נקראות לעיתים קרובות מאוד. במקום זאת, עליך לאחסן את התוצאה במאפיין ולבצע קישור למאפיין זה.
