2017-02-20 67 views
0

我使用的是Angular 1.4。衆所周知,在爲表格等東西渲染大量行時,ng-repeat可能會遇到一些性能問題。但是我想知道是否有一種使用ng-repeat或某種替代迭代的最佳方式來簡單地呈現我所擁有的數據數組。渲染表格行而不綁定性能

我不需要任何綁定,因爲它只是爲報表輸出數據。我嘗試了一些建議,如一次性綁定,但它仍然需要大量的時間(對於1000條記錄約10秒或更長)。我嘗試過的其他非Angular方法是在後端呈現HTML,然後返回HTML而不是數據數組。我有一個自定義指令,只是將HTML添加到元素。即使2000行,這也不到一秒鐘(顯然,因爲我沒有使用Angular)。

但是如果我能夠在Angular中完成同樣的事情,甚至在Angular的控制器中做類似的事情,那將會很好。任何輸入將不勝感激。

+0

我想知道爲什麼你想渲染1000行。 – ChiefTwoPencils

+0

我通常會爲它分頁,但用戶希望能夠一次查看所有數據,或者按Ctrl + F查找他們正在查找的記錄。所以這更多的是業務需求。雖然不是太常見,但他們運行的報告基於日期範圍,所以如果他們選擇了很長的時間範圍,記錄數量可能會很大。 – kenshin9

+0

它是什麼,然後我猜。我會給[使用ng-節省重複](http://stackoverflow.com/documentation/angularjs/1921/profiling-and-performance/6270/7-simple-performance-improvements#t=20170220203549826701)一看,包括「其他接近「而不是尋呼。事實是,他們可能無法看到他們,你只需要給他們認識他們可以和你提到的其他功能仍然可以實現。 – ChiefTwoPencils

回答

0

可以使用單程此綁定:

<ul ng-repeat="item in ::items"> 
    <li>{{ ::item.name }}</li> 
</ul> 

請注意,您必須將::語法添加到中繼器的每個條目。

我不確定你的邏輯有多複雜,但1000行的10秒聽起來很荒謬。