2

まず第一に、この質問は、永続化レイヤーを備えた今日の JavaScript MVWTF フレームワークのすべてではないにしても、ほとんどに当てはまると思います。

私の現在のタスクは、Angular で Web サイトのコメント管理セクションを書き直して、コメントを承認またはスパムとしてマークする必要がある人のワークフローを高速化することです。Web サイトにはすでにかなりの数のコメントがあり、毎日さらに多くのコメントが寄せられています。

問題は、Angular でこのデータセットをどのように処理するかです。私が見たすべての例は素晴らしくてダンディーですが、それらはすべて小さなデータ配列で機能します。

いくつかのアイデアをブレインストーミングしましたが、最良のアイデアは次のとおりです: JS アプリを起動するときに最新の X コメントをダウンロードし、既存の (クライアント側) データセットに Angular フィルターを適用した後にリストを検索または絞り込むときに、一致するデータをサーバーからプルします。 (または、ページ付けしている場合は一致するデータのサブセット) を作成し、それをクライアントに既にあるデータとマージします。このようにして、クライアント上のデータはますます広範になり、その後のクライアント側の検索はますます正確になることが期待されます。

これが理にかなっていることを願っています。

他のアイデアはありますか?

ありがとう。

4

1 に答える 1

2

注意が必要な最大のことは、アプリ全体の複数のスコープで大きなオブジェクト/配列を複製することによって作成される肥大化です。これは、大きなオブジェクトをコントローラーの $scope に配置し、それをディレクティブの $scope (ng-repeat など) に渡すだけで発生する可能性があります。アプリでこれを調査する良い方法は、Angular Batarangを調べることです。

この膨大な量のデータが、複数のコントローラー、ディレクティブ、およびサービス間で使用するものである場合 (私はそうであると思います)、それを $rootScope または独自のサービスに配置することをお勧めします。$rootScope のケースは、単にデータとして保存し、好きなようにアクセスしたい場合です。サービスの場合は、データの大きなブロックを照会/追加/削除するための再利用可能なメソッドが必要な場合に、データの $http.get もサービスに処理させることもできます。

それが役立つことを願っています。

于 2012-11-28T16:31:45.197 に答える