2015-10-30 19 views
1

我在我的HTML文件下面的代碼:如何使用orderBy過濾器從JavaScript執行ng-repeat?

<div data-ng-repeat="myItem in model.dataCollection|orderBy:model.sortField:model.sortReverse"> 

我試圖找到一種方法,通過JavaScript代碼(在控制器)相同的集合進行迭代。問題是我希望能夠以與UI中排序項目的順序相同的順序迭代集合。我的意思是,我正在尋找這樣的東西:

var sortField = model.sortField; 
var sortReverse = model.sortReverse; 
angular.forEach(model.dataCollection, sortField, sortReverse) 
    .do(myItem => doSomethingWith(myItem)); 

這樣做的正確API是什麼?

回答

1

您正在尋找的$filter變量。將其注入到控制器中並像這樣使用它:

var items = $filter('orderBy')(model.dataCollection, model.sortField, model.sortReverse); 
angular.forEach(items, function(value){ 
    // Do something with each value. 
}); 
+1

太棒了!謝謝! –

+1

沒問題我的男人! –