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