1

私は現在、backbone.js のチュートリアルを進めており、提案された REST サービスを使用する代わりに、私の会社のサービスを実際の例として使用しています。問題は、チュートリアルが次のように REST サーバーから返される非常に単純な JSON を使用していることです。

{
    "name":"Brian"
    "age":52
},
    "name":"Mary"
    "age":"27"
}
... etc.

私自身のデータには、このタイプの配列が含まれています。

{
    "records":20,
    "customers": [{name:"Simon", age:27},{name:"Mary", age:28}... etc.]
}

この場合、「顧客」に到達したいと考えています。これにはモデル内で parse: を使用できると思いますが、このチュートリアルではコレクションのみを使用し、それをテンプレートにレンダリングします。コレクションだけでこれを行うことはできますか? または、モデルを作成して parse: を使用する必要がありますか?

4

1 に答える 1

3

コレクションを使用できます。オーバーライドするだけCollection.parseです。これは、未加工の AJAX 応答をモデル属性に変換するために Backbone が呼び出す関数です。あなたの場合、response.customers生の応答の代わりに返す必要があるだけです:

var MyCollection = Backbone.Collection.extend({
    parse: function(response) {
        return response.customers;
    }
});
于 2013-10-03T23:49:06.523 に答える