私は日付でアイテムに組み込みの角度フィルタOrderByを使用していますが、DOMで期待どおりに動作しますが、配列自体が更新されるため、新しい順序で作業できます。アイテム。AngularJS OrderByの更新元の配列
誰でもこれを達成するためのアイデアはありますか?
ありがとうございました。
P.S. AngularJS 1.3.14を使用しています。
私は日付でアイテムに組み込みの角度フィルタOrderByを使用していますが、DOMで期待どおりに動作しますが、配列自体が更新されるため、新しい順序で作業できます。アイテム。AngularJS OrderByの更新元の配列
誰でもこれを達成するためのアイデアはありますか?
ありがとうございました。
P.S. AngularJS 1.3.14を使用しています。
DOMにバインドする前に、配列をコントローラから並べ替える必要があります。これは、Angularが各ダイジェストサイクルで注文を再計算する必要がないため、より効果的です。
$scope.myOrderedArray = order($scope.myArray);
そしてDOM
<div ng-repeat="item in myOrderedArray"> ... </div>
ありがとうございました。ありがとうございました – Axl
にフィルタは、配列のソートされたコピーを返すので、あなたは自分のスコープに割り当てし、ソートされた配列の参照を保持することができます。
あなたのコントローラで$フィルタサービスを挿入し、このようにプログラム的にそれを使用します。
var orderBy = $filter('orderBy');
$scope.array = orderBy(unsortedArray, expression);
このフィルタの詳細はhereを見つけることができます。
もちろん、ソート式が動的な場合は、変更するたびに配列の参照を更新する必要があります。これは常に理想的ではありませんが、少量のデータでは絶対に実行可能です。
ng-repeatは配列には影響しませんが、表示されるもののみです。実際の配列をソートするには、コントローラーで配列をソートする必要があります。 –
コードを表示できますか? – Matheno