这个问题是这个相关问题的延伸。
听从 Derick 的建议,我的数据现在有了正确的形状。即我有一个对象的集合Department
,每个对象都有一个Users
.
CollectionView
再次按照 Derick 的建议,我正在尝试渲染CompositeView
a
我的收藏视图看起来像这样
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
对象)和一个集合,users
但它们中的一个或两个似乎是错误的对象类型,因为该Marionette bindTo
函数抱怨该对象没有“on”方法。
我究竟做错了什么?