2

応答が次のようなフェッチ要求があります。

response = {
   id: 1,
   title: 'text',
   followers: [{}, {}] // array of objects
}

ご覧のとおり、応答は、オブジェクトの配列である属性 follower を持つオブジェクトです。

この応答から、次の属性を持つ 1 つのモデルと 1 つのコレクションを作成したいと思います。

response = {
   id: 1,
   title: 'text'
}

もう 1 つは、モデルのコレクションです。

followers: [{}, {}];

私の目標をアクティブにする適切な方法は何ですか?
Backbone.Relation を使用できますか?
はいの場合、いくつかの例がありますか?

4

3 に答える 3

2

私は@lecstorと同じアプローチを使用することに慣れていますが、次のようにするのがもっと好きですinitialize()

initialize: function(){
  this.followers = new Followers( this.get("followers") );
}
于 2012-05-31T08:44:44.923 に答える
1

ニーズ/ビュー/などに応じて、おそらくその応答をモデルにラップし、フォロワー用のモデルのコレクションを作成します...

MyModel = Backbone.Model.extend({
    urlRoot: '/url/to/get/response'
});

Follower = Backbone.Model.extend();

Followers = Backbone.Collection.extend({
    model: Follower
});

this.model = new MyModel({ id: 1 });
var that = this;
this.model.fetch({
    success: function(model, response){
        that.collection = new Followers( model.get('followers') )
    }
});

次に、コレクションからモデルを非常に簡単に更新できると思います。

this.model.set('followers', this.collection.toJSON())
于 2012-05-31T02:30:18.860 に答える
0

コレクションとサブモデルを含むモデルがないのはなぜですか?

基本的にビューモデル

于 2012-05-31T01:00:48.513 に答える