我有一個包含300行(有限),20列的表。 - 使用Ag-GridAngularJS - 數據表的最佳實踐
此表格還有8個過濾器,每個過濾器都是平均50行的多重選擇。 - 與isteven多選
這個模塊是非常非常慢,和Batarang顯示範圍7000到20000 $$觀察員。這個模塊也是系統中最重要的。
我更改了過濾器以便根據需要動態加載,但它仍然非常慢。 (在Chrome上,有8個內核i7和16GB RAM)
顯示海量數據的表的最佳做法是什麼?
我有一個包含300行(有限),20列的表。 - 使用Ag-GridAngularJS - 數據表的最佳實踐
此表格還有8個過濾器,每個過濾器都是平均50行的多重選擇。 - 與isteven多選
這個模塊是非常非常慢,和Batarang顯示範圍7000到20000 $$觀察員。這個模塊也是系統中最重要的。
我更改了過濾器以便根據需要動態加載,但它仍然非常慢。 (在Chrome上,有8個內核i7和16GB RAM)
顯示海量數據的表的最佳做法是什麼?
您可以使用React這個。 React的表現要好得多。 React是MVC
中的V
,因此您可以使用React + AngularJS。
你也可以試試這個AngularJS庫 - angular-datatables
您可以使用一次數據綁定。在視圖中使用{{::myVal}}
而不是{{myVal}}
它應該減少觀察者的數量。
你可以做懶渲染或虛擬重複減少DOM的節點數必須創建。 (這可能是您的應用程序的瓶頸)
最後,你可以用自己的實現角度編譯的方法,並使用$eval
與$scope
變量,但不將其加入角應用範圍編譯自己的模板。它可以比角度解決方案快得多,因爲您可以避免所有檢查併爲您的應用程序優化它,並將其呈現爲純粹的html,而不用所有的角魔法,這會使得這一點更快。
感謝您的詳細解答。對於我來說主要的問題是我無法控制表本身(這是一個我不想改變的指令),我知道一次綁定,但是現在我無法創建自己的表,因爲這個表有很多特性。 – Amit
您是否聽說過分頁? – Damiano
加速的快速取勝可以通過角度語法{{:: myVar}}查看您可以使用一次性綁定的位置https://docs.angularjs.org/guide/expression – jornare
@Damiano嗯,但不幸的是是我老闆想要的。成百上千行中只有300個。 – Amit