2013-07-25 66 views
3

背景:我一直在我們的應用程序轉換幾頁用AngularJS爲主要架構大修的嘗試。到目前爲止,Angular已經證明對我很友善,但其學習曲線非常銳利,但沒關係。如何隱藏行以ng網

在我們的主頁之一,我們已經slickgrid和我已經決定使用NG-電網,而不是slickgrid的對自己頭痛保存在我的第一通行證。由於我們的應用程序的性質,相同的數據將在整個頁面生命週期內被多次過濾/未過濾。整個數據集將始終保持完全相同,到目前爲止只有20-40個數據點。

功能它是由工作好了gridOptins.data重新分配數據。然而,只有在幾個過濾週期內,內存纔會從大約20MB增加到大約64MB,因此性能會受到嚴重影響。而且網格變慢(> 40ms)以完成重新渲染。時間軸分析器揭示了每次更改網格數據時都會創建大量的DOM。

我已經說服自己,這是不切實際的,從經常NG-網格中刪除/插入的數據點,我期待在這個問題上的一些解決方法。一個只是隱藏數據點,但我還沒有看到說明這一點的例子。

其他sugestions歡迎了。

編輯:這裏是plunkr:

http://plnkr.co/edit/dgA2HW

試着點擊過濾器經常和手錶總內存自身建設起來。

+1

您使用的是什麼瀏覽器?我注意到IE中有很多內存使用情況。我們實際上切換到數據表,因爲它沒有內存問題。 –

+0

當我第一次看到問題時,我在Ubuntu上使用Chromium。我可以驗證這種內存泄漏問題也發生在Mac上的Chrome上,儘管程度較低。 – Ekkmanz

+0

看到這裏http://www.bennadel.com/blog/2485-Working-With-Inherited-Collections-In-AngularJS.htm – bresleveloper

回答

0

你可以從電網中使用filterText ...

$scope.randomfilter = function() { 

    $scope.gridOptions.$gridScope.filterText = Math.ceil(24 * Math.random()); 
}; 

$scope.resetfilter = function() { 
    $scope.gridOptions.$gridScope.filterText = ""; 
}; 

http://plnkr.co/edit/DmgIS9?p=preview