1

そのため、オブジェクトの配列を持つ scope.data があります。その配列のデータはテーブルに表示され、orderedBy x プロパティです。テーブルの表示は完全に機能しますが、scope.data オブジェクト自体は、テーブルが表示しているものを反映するように並べ替えられていません...そのオブジェクトを並べ替えオプションとして並べ替える方法はありますか?

4

2 に答える 2

3

テンプレートのscope.dataにフィルターを適用する代わりに、コントローラーでフィルターを適用できます。

の代わりに

コントローラ:

$scope.data = [data array];

レンプレート:

{{ data | orderBy:x }}

に変更

コントローラ:

// Inject $filter into controller
$scope.data = $filter('orderBy')('x');

レンプレート:

{{ data }}

データバインディング

配列が渡された場合dataは、元の配列が変更されたかどうかを確認する監視関数を設定し、現在の$scope.dataプロパティに自動的に適用することで更新を処理できます。

于 2013-02-21T00:27:08.553 に答える
3

OrderBy は、スコープの変数を並べ替えるのではなく、表示される方法で並べ替えます。$scope で配列を変更したい場合は、javascript で配列をソートする必要があります。

于 2013-02-21T00:13:34.273 に答える