0

レコードのフィールド名を動的に表示したい:

例:

この 3 つのレコードがある場合

{
    "_id": {
        "$oid": "blahblah"
    },
    "firstName": "Jon",
    "lastName": "Doe",
    "age" : "55"
}
{
    "_id": {
        "$oid": "blahblahblah"
    },
    "firstName": "Johnny",
    "lastName": "Doedoe",
    "weight" : "555lb"

}

angularjsを使用してWebページに表示したいのは次のとおりです。

ファーストネーム : ジョン

姓 : ドウ

年齢 : 55


ファーストネーム:ジョニー

姓 : Doedoe

重量:555ポンド

特定の値を取得する方法を知っています。たとえば、名を取得するには、次のようにします: $scope.person.firstname (これはもちろん例です)。angularjs にすべてのラベルを取得するように依頼するにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

これらのレコードを取得するには、DB にクエリを作成する必要があります。サーバーによっては、クエリの外観が異なります。以下は、呼び出しのノード バージョンです。

function getNames() {
    db.collection.find().toArray(function(data, err) { 
        if (err)
            //do something
        else
            res.send(data);
    });
}

次に、Angular からGETサーバーを呼び出します。

$http.get(url).success(function(data) {
    $scope.names = data;
});

これ$scope.namesで、サーバーからのデータの配列に設定されました。を使用しng-repeatてすべてを表示します。

<div ng-repeat="name in names">
    <span ng-repeat="(key, val) in name">{{key}}:{{val}}</span>
</div>

それだけです (まあ、基本的には、間違いなくこれを微調整する必要があります)。

于 2013-10-16T18:58:40.407 に答える
0

Angular で Express と Jade を使用しているかどうかはわかりませんが、別の http 要求を作成したくない場合 (アプリの構成方法によって異なります)、任意のコントローラーで再利用できる角度サービスを作成できます。

サービスの目的は、json を取得して現在のスコープに配置し、コントローラーが使用できるようにすることです。また、このサービスの依存関係をすべてのページ (つまり、すべてのコントローラー) に注入すると、ドキュメントが読み込まれます。

ブログ投稿と完全なレポはこちら.

于 2013-10-17T15:32:27.623 に答える