背景:我一直致力于在我们的应用程序中转换几页,以使用AngularJS作为主要架构改造的尝试。到目前为止,Angular已被证明对我友好,而其学习曲线非常清晰,但这没关系。
在我们的主页之一,我们有slickgrid,我决定使用ng-grid而不是slickgrid来避免在第一次通过时头痛。由于我们的应用程序的性质,相同的数据将在整个页面生命周期中多次过滤/未过滤。整个数据集将始终保持完全相同,到目前为止只有20-40个数据点。
通过为gridOptins.data
重新分配数据,它可以正常工作。然而,由于内存在几个过滤周期内从大约20MB上升到大约64MB,因此性能受到严重影响。并且网格变得缓慢(> 40ms)以完成重新渲染。时间线分析器显示每次网格数据更改时都会创建大量的DOM。
我确信自己经常从ng-grid中删除/插入数据点是不切实际的,我正在寻找解决这个问题的方法。一个只是隐藏数据点,但我还没有看到说明这一点的例子。
其他的消费也是受欢迎的。
编辑:这是plunkr:
尝试经常点击过滤器并观察总内存构建本身。
答案 0 :(得分:0)
您可以使用网格中的filterText ...
$scope.randomfilter = function() {
$scope.gridOptions.$gridScope.filterText = Math.ceil(24 * Math.random());
};
$scope.resetfilter = function() {
$scope.gridOptions.$gridScope.filterText = "";
};