0

我有下面的代码,我有一个nested ng-repeat,并且也使用在内部NG重复filterlimitTo选项与自定义NG-重复指令自定义过滤器和LimitTo选项

http://jsfiddle.net/WqSGR/27/

在这里,我有很我的集合中的项目更少。但在我的真实情况下,我在外部和内部循环中都有大约1000个项目。但我面临的问题与使用NG-重复巨额集 - Angular JS ng-repeat consumes more browser memory

所以,我有我自己的NG-重复它通过相当数量的减少内存使用:

http://jsfiddle.net/WqSGR/28/

但我可以用filterlimitTo选项与我上面定制的ng-repeat指令中的ng-repeat类似吗?

注:内在NG重复不总是有极限5.我有内部NG重复内滚动并有上,当内侧涡旋到达末端watch,由5

增加限制

任何帮助非常感谢!

我试图最接近的是: http://jsfiddle.net/WqSGR/29/

但有人可以与如何在searchText申请表,从而过滤作品帮助吗?

回答

1

你的链接功能里面是的,你可以使用过滤器:

myApp.directive('myRepeater', function(filterFilter, limitToFilter) { 
    return { 
    restrict: 'A',   
    link: function(scope, element, attrs) { 
     var myTemplate = "<div>{{rating}}</div>"; 
     var filteredItems = filterFilter(scope.items, scope.SearchText); 
     var limitedItems = limitToFilter(filteredItems, 5); 
     angular.forEach(limitedItems, function(item){     
     var text = myTemplate.replace("{{rating}}",item.rating); 
     element.append(text); 
     }); 
    } 
    }; 
}); 

然后,你将继续从那里通过创建$观察者,观察scope.SearchTextscope.NumberOfItems的变化相应地更新列表。

+0

非常感谢@Stewie!你可以帮助我filterFilter和limitToFilter,或者你可以提供一些方向? –

+0

我尝试了以下方法:http://jsfiddle.net/WqSGR/29/但是,您可以帮助我如何在searchText上应用手表,以便更新结果吗? –

+0

有:[小提琴](http://jsfiddle.net/SsnPb/) – Stewie