Ich habe Probleme mit der Leistung beim Rendern großer Datentabellen mit Aurelia.Rendern großer Datentabellen mit Aurelia
Selbst bei mittelgroßen Tabellen (20x20) erreiche ich nicht weniger als 200ms für Chrome, MS Edge dauert ~ 800ms und IE11 dauert ~ 2s. Die 200ms sind auch ein Problem, wenn Sie (virtuelles) Scrollen hinzufügen möchten. Die Verarbeitungszeit erhöht sich mit der Anzahl der Bindungen pro Tabellenzelle. Ich habe eine (example) zusammengestellt, die 'css', 'class' und natürlich den Zellinhalt bindet.
<table class="table">
<tbody>
<tr repeat.for="row of rows">
<td repeat.for="column of columns" css.bind="getCellStyle(column, $parent.$first)" class.bind="getCellClasses(column, row)">
<template replaceable part="cell-template">
<span>${getCellText(column, row)}</span>
</template>
</td>
</tr>
</tbody>
</table>
Irgendwelche Ideen, wie ich die Leistung verbessern könnte?
Basierend auf ersten Vorschlägen habe ich versucht, die verschachtelten Wiederholungen zu vermeiden, aber das ist in meinem Fall nicht möglich, da sowohl Spalten als auch Zeilen dynamisch sind.
[Ui-Virtualisierung] (http://aurelia.io/ui-virtualization)? –
Die Frage war die Optimierung für das Rendern sichtbarer Tabellenzellen. Aurelia ui-virtualization hilft, wenn es viele unsichtbare Zeilen gibt. – reinholdk
ohhhhhhhhhhh ... –