2016-12-22 12 views
0

キーconatins GET要求がある:今私はキーと私はそれが前に行うことができるように、値をソートする値が含まれているテーブルヘッダを持っている値のデータは:どのように私は角jsのソートタイプにキーをバインドできますか?

<th> 
    <a href="#" ng-click="sortType = 'scenarioNo'; sortReverse = !sortReverse"> 
    scenarioNo 
    <span ng-show="sortType == 'scenarioNo' && !sortReverse" class="fa fa-caret-down"></span> 
    <span ng-show="sortType == 'scenarioNo' && sortReverse" class="fa fa-caret-up"></span> 
    </a> 
</th> 

は今、私がやりたいですそれは、動的などのキーは、テーブルの頭となり、値は、ヘッダのクリックでソートすることができます

<tr ng-repeat="item in myEntity | limitTo:1"> 
    <th></th> 
    <th ng-repeat="(key,value) in item"> 
     <a href="#" ng-click="sortType = '{{key}}'; sortReverse = !sortReverse">{{key}}<span ng-show="sortType == '{{key}}' && !sortReverse" class="fa fa-caret-down"></span> 
    <span ng-show="sortType == '{{key}}' && sortReverse" class="fa fa-caret-up"></span> 
    </a> 
    </th> 
</tr> 

私はテーブルの値をソートするために、角sortReversを使用していました。どのように私は、ヘッダーをクリック可能とソート可能にすることができます..?上記のコードのようにSORTTYPE内のデータバインディング作業を行い

+0

@Bo Vandersteeneよう

非常に同様の例が追加 が、作品やフィドルと:コントローラで

<tr ng-repeat="item in myEntity | limitTo:1"> <th></th> <th ng-repeat="(key,value) in item"> <a href="#" ng-click="sort(key, !sortReverse)"> {{key}} <span class="fa" ng-class="{'fa-caret-down' : sortReverse, 'fa-caret-up' : !sortReverse}" ng-show="sortKey == key"></span> </a> </th> </tr> 

$scope.sort = function(key, reverse) { $scope.sortKey = key; $scope.sortReverse = !$scope.sortReverse; } 

フィドル'ngClick'と' ngShow'は直接 'key'を使用します – Satpal

+0

私はクリックイベントでそれをソートする必要があります –

答えて

0

コントローラに代わりのhtmlページに並べ替えを行います

<tr ng-repeat="item in myEntity | limitTo:1"> 
    <th></th> 
    <th ng-repeat="(key,value) in item"> 
     <a href="#" ng-click="sort(key, !sortReverse)">{{key}} 
     <span class="fa" 
       ng-if="sortType == key" 
       ng-class="{'fa-caret-down' : sortReverse, 'fa-caret-up' : !sortReverse}"> 
      </span> 
    </a> 
    </th> 
</tr> 

とあなたがグローバルスコープを使用する必要がありますコントローラ

sort(key, sortReverse){ 
    //Do the sortlogic 
    $scope.sortType = sortReverse; 
    $scope.key = key; 
} 
+0

私はソートしたいキーをソートする必要はありませんthこれらの聞き手の下に一列に配置されるe値。ヘッダーの値がハードコーディングされているため、最初のコードスニペットはうまくいきます... –

0

ng-repeatには独自のスコープがあるため、(コントローラ内の)並べ替えパラメータは無視されます。あなたは内の文字列補間を必要としないhttps://jsfiddle.net/23z8urzw/1/

+0

コントローラーに配置する方が良いでしょう。 –

関連する問題