2

私はオブジェクトの単純な配列を持っています:

  $scope.asd = [{"approved":true,"id":"542fb8972be5b5cc4356dd51","username":"k"},
{"approved":false,"id":"542fbea3bae6fe4449c838d5","username":"tototod"},
{"approved":false,"id":"54324929afafdb92209b2474","username":"asdasd"}
];

次に、値と orderBy id またはユーザー名を次のように出力します。

<div ng-repeat="row in asd | orderBy:username:reverse">
{{row.username}}
</div>

また

<div ng-repeat="row in asd | orderBy:id:reverse">
    {{row.id}}
    </div>

しかし、それは機能しません、それは何でしょうか?

コンソール エラーはなく、こちらのガイドに従っているだけです: https://docs.angularjs.org/api/ng/filter/orderBy

助けてください、ありがとう

4

1 に答える 1

4

あなたの例usernameidは、引用する必要があります!その式は、オブジェクト プロパティの検索に使用される文字列に評価される必要があります。ドキュメントをもう一度参照してくださいpredicate。文字列値に解決される変数であることがわかります。

解決:

<div ng-repeat="row in asd | orderBy:'username':true">
    {{row.username}}
</div>

また、reverseブール式に評価される必要があります。

あなたのデータの作業フィドル。

于 2014-10-06T10:35:34.870 に答える