YUI3 (3.11) では、テーブルに 100 項目を追加するのに 800 ミリ秒かかります。これを最適化する方法は何ですか?
data = data.slice(1,100)
data.forEach(function(item){
data_table.data.add({ 'name': item });
})
YUI3 (3.11) では、テーブルに 100 項目を追加するのに 800 ミリ秒かかります。これを最適化する方法は何ですか?
data = data.slice(1,100)
data.forEach(function(item){
data_table.data.add({ 'name': item });
})
DataTable.data
YUI ModelList を内部的に使用してデータを保存します。これにより、すべての行がモデルに変換され、add
それらをテーブルに追加するとイベントが発生します。ただし、現在のところ、一度に多くの行を追加することは意図されていません。
問題を解決する最善の方法は、おそらく、表示したい行だけでテーブルをリセットすることです。次のようにしてそれを行うことができます:
data = data.slice(1, 100);
data_table.data.reset(data);
これにより、オーバーヘッドを大幅に削減して DataTable にデータを追加し、これらの追加イベントの発生を防ぐことができます。