4

大量のデータを含む大量のデータがあり、このデータを AngularJS のテーブルに表示しようとしています (フィルタリングと並べ替えを使用)。この目的のために、私は ng-Table を使用しようとしますが、データが多すぎる (> 1000 行) 場合、リモート サーバーで速度が低下し始めます。機械。データベースからすべてのデータをロードする必要があるフィルタリングとソートについて理解しているように、すべてのデータをロードするわけではなく、何らかのトリックを知っている人がいるかもしれません。または、Angular 用の別のテーブル プラグインを知っている人がいるかもしれません。

助けてくれてありがとう。

4

3 に答える 3

5

必要な情報はこちら: http://tech.small-improvements.com/2013/09/10/angularjs-performance-with-large-lists/

推奨事項は次のとおりです。

  1. 行をページ分割します。一度に 2000 行すべてを表示することはできません。
  2. データ バインディングなしでリストをレンダリングする
  3. データの計算にインライン メソッド呼び出しを使用しないでください
  4. 2 つのリストを使用します (1 つは表示するビュー用、もう 1 つはデータ ソース用)。
  5. 追加のテンプレートには ng-show の代わりに ng-if を使用します
  6. AngularJS ディレクティブ ng-mouseenter、ng-mouseleave などを使用しないでください。
  7. フィルタリングのチューニング ヒント: 除外された要素を ng-show で非表示にする
  8. フィルタリングのチューニング ヒント: デバウンス入力

フィルタリングと並べ替えが問題である可能性があります。コントローラーにフィルターを適用し、そこでも並べ替えます。

于 2014-08-09T14:03:10.233 に答える
3

最近、この新しいテーブル コンポーネント #ngTasty の作業を開始しました。ここでは、クライアント側のページネーション/並べ替えhttp://zizzamia.com/ng-tasty/#Tableとサーバー側のページネーション/並べ替えhttp://zizzamia. com/ng-tasty/#TableServerSide . それでも遅い場合は、喜んで回避してパフォーマンスを改善します。

于 2014-08-22T18:51:40.117 に答える
1

最高のユーザー エクスペリエンスとビッグ データを処理するために、無限スクロールまたはページネーションを使用することをお勧めします。

これは角度のある (無限スクロール) http://www.michaelbromley.co.uk/blog/108/paginate-almost-anything-in-angularjsの良い仕事です。

ページネーションについては、良い記事 http://www.michaelbromley.co.uk/blog/108/paginate-almost-anything-in-angularjs

これらで試してみてください。

于 2014-08-09T15:08:49.323 に答える