7

私は Marionette を数週間使用しており、Backbone Relational を発見したばかりなので、2 つを統合する方法を見つけようとしています。理想的には、複合ビューを使用して、各「アイテム」が独自のアイテム ビューを持つ次のような構造のデータをレンダリングしたいと考えています。

list : {
  name : 'List 1',
  items : [
    item1 : {
      name : 'Item 1',
      id : 1
    },
    item2 : { ... }
    item3 : { ... }
  ]
}

通常、複合ビューでは、各アイテムをレンダリングするために反復するモデルのコレクションが必要です。リレーショナルでは、1 つのモデル (リスト) だけがあり、そのモデルにはコレクション (アイテム) があります。マリオネットのビューを使用してこれをレンダリングすることは可能ですか、それとも単純なバックボーン ビューを使用してレンダリングと反復を自分で処理する必要がありますか?

4

1 に答える 1

19

これは非常に一般的で、簡単に実行できます。CompositeView 定義では、initialize メソッドで使用するコレクションを指定できます。


Backbone.Marionette.CompositeView.extend({
  // ...

  initialize: function(){
    this.collection = this.model.get("childcollection");
  }
});
于 2012-07-06T01:09:23.677 に答える