0

mongodb データベース コレクションから Json データを取得しました。

このjsonのキーを表示することができました。

今、ビューで二重の ng-repeat によってテーブルに配列を表示しようとしています。

私は欲しいものをほぼ手に入れましたが、値の順序が正しくありません。

アイテムの属性名を使用するのは良いことですが、それは望ましくありません。

私は私の見解でこのコードを使用します:

<table class="table table-striped">
<caption>Content</caption>

<thead>
    <tr>
    <th ng-repeat="caption in captions">
    {{caption}}
    </th>
    </tr>
</thead>

<tbody>
<tr ng-repeat="content in contentCollection">
<td ng-repeat="item in content">
{{item}}
</td>
</tr>
</tbody>
</table> 

表示されます:

_id     session     expires

id1         expires1        session1

そのはず:

_id     session     expires

id1     session1    expires1

正しい値の順序 (id1、session1、expires1) でコントローラーから配列を送信します。Chrome コンソールでconsole.log().

回避策を得るにはディレクティブを実行する必要があると思いますが、何かを見逃した可能性があります。

何が悪いのか考えていますか?

ありがとう、

ROM

4

1 に答える 1

0

ng-repeat で順序を確実にしたい場合は、 orderby フィルターhttp://docs.angularjs.org/api/ng.filter:orderByを使用します。ディレクティブは必要ありませんが、高度な順序付けが必要な場合は、フィルターにカスタム コンパレーターが必要になる場合があります。

配列が単なる文字列のリストである場合は、次のようなカスタム フィルターが必要になります。

angular.module('myApp',[])
    .filter('mySort', function() {
        return function(list) {
            return list.sort();
        }
    });

ただし、あなたの見解を考えると、オブジェクトがあり、ピースを引っ張ってこの繰り返しセットの事前正規化を行っているだけだと思います。その場合は、 http://plnkr.co/edit/ART87TjilotbnsuD02y1?p=previewのコードのようなことをしたいと思うでしょう。

注: 配列をサービスに移動し、サービスもキーを返すようにする必要があることに注意してください。

最後に、このプロセスを繰り返す場合は、このテーブル全体をディレクティブに移動して、オブジェクトの断片をより適切に解析することを検討してください。

于 2013-05-27T02:12:57.183 に答える