2017-05-11 4 views
0

Auf Sicht Seite arbeiten, habe ich verwendet Filter wie folgt aus:orderBy nicht mit Custom in Winkel js

<div class="col-md-3" ng-repeat="product in vendorProducts.offers | orderBy:customOrder" ng-if="vendorProducts.offers.length > 0"> 

In Controller habe ich benutzerdefinierte Filter erstellt:

$scope.customOrder = function (item) { 
    var filtered = []; 

    angular.forEach($scope.cRoomProducts, function(cRoomProduct) { 
     var vproduct = _.find($scope.vendorProducts.offers,function(vp){ return vp._id == cRoomProduct.offerDetails[0]._id }) 
     filtered.push(vproduct) 
    }); 

    var remainOfferProduct = $scope.vendorProducts.offers.filter(function(x) { return filtered.indexOf(x) < 0 }) 
    filtered = filtered.concat(remainOfferProduct) 
    return filtered; 
    }; 

bekommen Array in gefiltert aber noch Daten werden nicht sortiert. Jede Hilfe zu diesem sehr geschätzt.

Ich habe zwei Arrays. Ich möchte Daten sortieren, indem ich Daten des ersten Arrays zuerst verwende. $ scope.cRoomProducts Daten kommen zuerst Also habe ich Daten entsprechend gefiltert. und möchte Daten von vendorProducts.offers sortieren.

+0

'filtered' enthält' vendorProducts.offers' Artikel sortiert? –

+0

@ Alexandru-IonutMihai. Ja gefiltert enthält Array von sortierten Artikeln von vendorProducts.offers – user100693

+0

Wie lautet der Name des Felds, nach dem Sie sortieren möchten? –

Antwort

0

Wechsel zu

ng-repeat="product in vendorProducts.offers | filter:customOrder"