Пользовательская функция сортировки в ng-repeat

У меня есть набор плиток, которые отображают определенное число в зависимости от того, какой вариант выбран пользователем. Теперь я хотел бы реализовать сортировку по показанному номеру.

Приведенный ниже код показывает, как я его реализовал (получая / устанавливая значение в области родительских карт). Теперь, поскольку функция 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];
    }
}]);

Ответы на вопрос(4)

Ваш ответ на вопрос