1

このスニペットは私の問題をうまく示しています:

JSfiddle - ソートテーブル

重要な部分:

<tr ng-repeat="result in results | orderBy:predicate" ng-class="classRow($index)">

$scope.classRow = function(i) {
    return $scope.results[i].size > 9000 ? 'highlight' : '';
}

ご覧のとおり、配列を再ソートしても、インデックスは常に 0 から 6 に移動するため、ハイライトは項目と共に移動しません。

ハイライトを元のアイテムに固定するにはどうすればよいですか?

4

2 に答える 2

1

これをインラインで実行することもできるため、コントローラー コードは必要ありません。

ng-class="{ highlight: result.size > 9000 }"

作業例: http://jsfiddle.net/wEBnX/2/

于 2013-03-30T01:48:00.080 に答える
0

インデックスから作業するのではなく、 size プロパティを に直接渡しますclassRow()

<tr ng-repeat="result in results | orderBy:predicate" ng-class="classRow(result.size)">

$scope.classRow = function(size) {
    return size > 9000 ? 'highlight' : '';
}

作業例: http://jsfiddle.net/WqbNS/

于 2013-03-30T01:42:15.453 に答える