0

今天我想知道如何优化过滤器的执行速度。

我 ng-repeat 附加列表的对象可以有 1000 或 10000 的长度,但是当我只有 100 的长度时它开始进入 RAM ......

如果有人有窍门,我希望欣然接受!谢谢 !

4

2 回答 2

1

你尝试过这样的事情吗?

<input ng-model='filterby' />
<div ng-repeat='book in books|filter:filterby|limitTo:50' ng-show='filterby'>
于 2013-07-04T13:34:55.877 回答
0

是的,我知道。事实上,过滤器属性在 ng-repeat 属性中设置并链接到输入。在我的情况下,输入文本。例如,当用户在此输入中键入文本时,它将 foreach 我的对象并根据过滤器返回的新对象的长度附加我的元素。因此,如果您有一个附有 ng-repeat 的列表,那么您有 1000

  • {{object.infos}}
  • 然后你输入你的输入'test',过滤器搜索如果'test'在{{object.infos}}中匹配,如果是它返回所有匹配的对象并重新附加,例如如果我有一个长度为500的返回对象, 500
  • {{object.infos}}
  • . 因此,每次您在输入文本中输入内容时,它都会删除并附加任何元素。所以它对你的浏览器来说真的很铁杆......

    <div ng-repeat="test in tests | filter:search"></div>
    <input type="text" ng-model="search" />
    
    appController($scope, $window) {
        $scope.tests = {0:{infos...},1:{infos:...},...,1000:{infos...}}
    }
    
    于 2013-07-04T13:28:24.373 回答