Ich habe eine Reihe von Kacheln, die eine bestimmte Anzahl anzeigen, je nachdem, welche Option vom Benutzer ausgewählt wird. Ich möchte jetzt eine Sortierung nach der angezeigten Nummer implementieren.
Der folgende Code zeigt, wie ich ihn implementiert habe (indem Sie einen Wert im Bereich der übergeordneten Karten abrufen / festlegen). Da die orderBy-Funktion eine Zeichenfolge verwendet, habe ich versucht, eine Variable im Kartenbereich namens curOptionValue festzulegen und danach zu sortieren, aber es scheint nicht zu funktionieren.
Es stellt sich also die Frage, wie ich eine benutzerdefinierte Sortierfunktion erstellen kann.
<div ng-controller="aggViewport" >
<div class="btn-group" >
<button ng-click="setOption(opt.name)" ng-repeat="opt in optList" class="btn active">{{opt.name}}</button>
</div>
<div id="container" iso-grid width="500px" height="500px">
<div ng-repeat="card in cards" class="item {{card.class}}" ng-controller="aggCardController">
<table width="100%">
<tr>
<td align="center">
<h4>{{card.name}}</h4>
</td>
</tr>
<tr>
<td align="center"><h2>{{getOption()}}</h2></td>
</tr>
</table>
</div>
</div>
und Controller:
module.controller('aggViewport',['$scope','$location',function($scope,$location) {
$scope.cards = [
{name: card1, values: {opt1: 9, opt2: 10}},
{name: card1, values: {opt1: 9, opt2: 10}}
];
$scope.option = "opt1";
$scope.setOption = function(val){
$scope.option = val;
}
}]);
module.controller('aggCardController',['$scope',function($scope){
$scope.getOption = function(){
return $scope.card.values[$scope.option];
}
}]);