läuft Ich versuche, Objekteigenschaften Schlüssel in angular2 zu machen mit folgendem Code verwendet:* ngFor eine Endlosschleife in 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>
Aber ich bin hier ein Problem gegenüber. Die Ausgabe im Browser wird nur einmal geladen. , aber der Methodenaufruf, d. H. loadProperty(i,element)
läuft in einer Endlosschleife.
loadProperty(i:number,element:any){
console.log(element.key+'========'+element.value);
console.log(element);
}
Mittel an Browser
(1 --- Bhushan)
wird nur einmal angezeigte Ausgabe aber auf der Konsole seine unendlich wie unten ausgeführt wird:
Ich möchte diese Methode nur einmal aufrufen pro Iteration.
irgendwelche Eingänge?
Ich bin mir nicht sicher, wie man das mit Property Binding macht, haben Sie irgendwelche PLNKR dafür, wo die Methode nur einmal pro Iteration aufgerufen wird? @Gunter –
Was versuchst du zu erreichen? Klingt wie http://stackoverflow.com/questions/36427670/angular2-calling-custom-function-after-ngswitch-new-view-is-created/36427769#36427769 –
ziemlich genau dasselbe, aber ich möchte auch das iterierte Element übergeben zu der Methode. Eigentlich sind diese Elemente Objekte, und ich biete einen Editor für jedes Element an, um seinen Wert zu ändern. dh. Wenn es sich um ein Objekt handelt, das aus Arrays besteht, wird objectEditorComponent geladen und darin wird arrayEditorComponent für jedes Array geladen. Daher benutze ich * ngFor, um iteriertes Element zu iterieren und zu übergeben, um den richtigen Editor basierend auf seinem Datentyp auszuwählen. es ist ein rekursiver Prozess, bis es das letzte Element bekommt. –