この質問は、この関連質問の拡張です。
デリックのアドバイスを受けて、データは正しい形になりました。つまり、Department
オブジェクトのコレクションがあり、それぞれに。のコレクションがありUsers
ます。
再びデリックのアドバイスに従って、私はのをレンダリングしようとしてCollectionView
いCompositeView
ます
私のコレクションビューは次のようになります
class UserListView extends Backbone.Marionette.CollectionView
itemView: UserCompositeView
id: "user-list"
appendHtml: (collectionView, itemView, index) =>
itemModel = @collection.at(index)
itemView = new UserCompositeView
model: itemModel
collection: itemModel.get("users")
collectionView.$el.append itemView.el
そして私のようにComposite View
見えます:
class UserCompositeView extends Backbone.Marionette.CompositeView
itemView: UserItemView
itemViewContainer: '#users'
appendHtmlメソッドをオーバーライドしない場合、ビューはレンダリングされますが、Department
モデルのプロパティのみがレンダリングされます。users
コレクションはレンダリングされません。
appendHtml
のメソッドをオーバーライドするとCollectionView
、モデル(Department
オブジェクト)とそのコレクションを渡すことができますが、オブジェクトに'on'メソッドがないと関数が文句を言っているusers
ため、それらの一方または両方が間違ったタイプのオブジェクトのようです。Marionette bindTo
私は何が間違っているのですか?