2012-11-28 146 views
2

首先:我認爲這個問題適用於大多數(如果不是全部)當今具有持久層的JavaScript MVWTF框架。在AngularJS中處理大型數據集

我目前的任務是重寫Angular中網站的評論管理部分,以加快那些不得不批准或將評論標記爲垃圾郵件的人的工作流程。該網站已經有相當多的評論,每天都會有更多的評論。

現在的問題是:我如何在Angular中處理這個數據集?我看到的所有例子都很好用,但所有這些例子都適用於小數據。

我們頭腦風暴了幾個想法,最好的一點是:在啓動JS應用程序時下載最新的X註釋,然後在現有(客戶端)數據集上應用Angular過濾器後搜索或優化列表時,將匹配來自服務器的數據(或者如果我們正在分頁,則是匹配數據的一個子集),並將其與我們已有的客戶端數據進行合併。這樣,客戶端上的數據將會越來越廣泛,隨後的客戶端搜索將會越來越精確。

希望這是有道理的。

還有其他想法嗎?

謝謝。

回答

2

你必須小心的最大的問題是通過在整個應用程序的多個範圍內複製大對象/數組而創建的膨脹。這可能是由於將大對象放在控制器的$ scope中,然後將它傳遞給指令的$ scope(例如ng-repeat)引起的。在您的應用程序中調查此問題的一個好方法是查看Angular Batarang

如果您要在多個控制器,指令和服務中使用這麼多的數據(我認爲它是這樣),它是將它放在$ rootScope中或者可能是它自己的服務中可能是一個好主意。對於$ rootScope的情況是,如果您只是想將其作爲數據存儲並訪問它,無論您願意如何。一個服務的情況是,如果你想要有可重用的方法來查詢/添加/刪除大塊數據,你甚至可以讓服務處理數據的$ http.get。

我希望有幫助。