2013-07-25 97 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