사용자가 선택한 옵션에 따라 특정 숫자를 표시하는 타일 세트가 있습니다. 이제 표시된 숫자로 정렬을 구현하고 싶습니다.
아래 코드는 어떻게 구현했는지 보여줍니다 (부모 카드 범위에서 값을 가져 오거나 설정하여). 이제 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];
}
}]);