2016-05-23 5 views
0

Derzeit baue ich eine dynamische Tabelle, in der sowohl Zeilen- als auch Spaltenwerte zur Laufzeit bestimmt werden. Ich habe dies durch folgenden Code erreicht.Optimierung der redundanten Verarbeitung für dynamische Spalten in EmberJS

{{#each item in collection}} 
<tr> 
    {{#each field in fields}} // redundant for all collections 
    <td> 
    {{sample-td field=field data=item}} 
    </td> 
    {{/each}} 
</tr> 
{{/each}} 

Jetzt funktioniert das gut, aber für große Datensätze scheint das Rendering zu langsam. Bei der Analyse des Codes scheint es so, als ob die zweite Schleife redundant über die erste Schleife läuft (die Felder müssen nur einmal berechnet werden, aber sie werden für jeden Wert der Sammlung berechnet).

Bitte schlagen Sie vor, wie ich meinen Code optimieren kann.

+0

Sie können Code Stück zeigen, wo Sie dynamisch Felder Eigenschaft festlegen werden. – kumkanillam

Antwort

1

Sie können den Schlüsselwert angeben, um die Rendergeschwindigkeit beim fortlaufenden Rendern zu verbessern. Folgen Ember guide link

{{#each model key="id" as |item|}} 
{{/each}} 
Verwandte Themen