У мене є набір плиток, які відображають певне число залежно від того, який варіант обраний користувачем. Зараз я хотів би реалізувати сортування за будь-яким числом, яке показано.
Код нижче показує, як я його реалізував (шляхом отримання / встановлення значення в області батьківських карт). Тепер, оскільки функція orderBy займає рядок, я спробував встановити змінну в області карти під назвою curOptionValue і сортувати за цим, але, схоже, це не працює.
Таким чином, виникає питання, як створити спеціальну функцію сортування?
<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>
та контролер:
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];
}
}]);