2016-07-17 4 views
1

Ich bin neu in eckigen Filtern.Sortieren von E-Mail-IDs mit Winkelfilter

Wenn ich die E-Mail-IDs, die in ng-ist, sortieren soll, wiederhole das durch Anwenden eines Filters. Wie macht man das?

Zum Beispiel:

[email protected], [email protected], [email protected] und [email protected] sind meine E-Mails.

Ich möchte die Ausgabe erhalten, wie

[email protected], [email protected], [email protected], [email protected]

Sein mögen alphabetisch und auch aufsteigend sortiert. Beide in einem Filter.

Ich würde wirklich schätzen, wenn Arbeitscode dafür bereitgestellt wird.

Vielen Dank im Voraus. Was ich in OrderBy schreiben sollte: "???????"

Code:

<div class="col-md-12 " ng-repeat="e in allEmails | orderBy:'??????'"> 
    //Display the emails here in sorted alphabetically ascending order. 
</div> 
+1

orderBy: 'toString()' –

Antwort

3

die Sie interessieren,

var app = angular.module('myapp', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    
 
    $scope.emails = ['[email protected]', '[email protected]', '[email protected]', '[email protected]'] 
 
    
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 

 
<body ng-app="myapp" ng-controller="MainCtrl"> 
 
    
 
    <ul> 
 
     <li ng-repeat="email in emails |orderBy:'toString()'"> 
 
     {{email}} 
 
     </li> 
 
    </ul> 
 
    </body>

+0

Ich habe ein seltsames Problem hier. Ich exportiere die E-Mails aus der Excel-Datei. Aus irgendeinem Grund sortiert es nicht alle E-Mails. Kann jemand bitte helfen Sie mir auf diese – user1851003

+0

Zum Beispiel, wenn E-Mails wie folgt sind: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] . Die Ausgabe, die ich bekomme, ist [email protected], [email protected], [email protected], [email protected] [email protected], [email protected] – user1851003

+0

Kann ich Hilfe bekommen ??? – user1851003

1

Hier wird eine andere Antwort zu schaffen custom filtermySortFilter:

angular 
 
    .module('myapp', []) 
 
    .filter('mySortFilter', function() { 
 
    return function(input) { 
 
     return input.sort(); 
 
    } 
 
    }) 
 
    .controller('MainCtrl', function($scope) { 
 
    $scope.emails = ['[email protected]', '[email protected]', '[email protected]', 'abc1[email protected]'] 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="myapp" ng-controller="MainCtrl"> 
 
    <ul> 
 
    <li ng-repeat="email in emails | mySortFilter"> 
 
     {{email}} 
 
    </li> 
 
    </ul> 
 
</body>

1

orderBy: email
Sie müssen nur durch den Namen der Variablen bestellen. Aufsteigend ist Standard. Wenn Ihre Variable $scope.email.addresses = []; waren dann würden Sie so filtern haben:

orderBy: email.addresses

+0

zu bestellen, wenn es nur $ scope.email ist ... dann orderBy: "??????" – user1851003

+0

Als ich antwortete: E-Mail –