J'essaie de rendre les propriétés des objets à l'aide de clés dans angular2 en utilisant le code ci-dessous:
<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>
Mais je suis confronté à un problème ici. La sortie dans le navigateur n'est chargée qu'une seule fois. mais l'appel de méthode, c'est-à-dire loadProperty(i,element)
s'exécute dans une boucle infinie.
loadProperty(i:number,element:any){
console.log(element.key+'========'+element.value);
console.log(element);
}
signifie sur la sortie du navigateur
(1 --- Bhushan)
est affiché une seule fois, mais sur la console, il fonctionne à l'infini comme ci-dessous:
Je souhaite appeler cette méthode une seule fois par itération.
des entrées?
Il s'agit simplement de la détection de changement Angular2 au travail en appelant loadProperty(i,element)
à plusieurs reprises dans chaque cycle de détection de changement.
Les méthodes d'appel à partir du modèle sont déconseillées car elles sont appelées très souvent. Au lieu de cela, vous devez stocker le résultat dans une propriété et vous lier à cette propriété.