我正在尝试将布局传递给 CollectionView,然后操作其中的区域。
现在,我成功地将布局发送到 CollectionView (在它自己的区域中),如下所示:
main_layout.main_region.show(new CollectionView({
itemView: ALayout,
collection : someCollection
}));
然后我可以看到布局正在渲染。但是,我想不出一种方法来修改(甚至触摸)“ALayout”中的区域。有没有办法做到这一点?最后,我试图获得一组“窗格”,其中每个窗格的布局都具有相同的区域,并以某种方式绘制这些区域。
此外,我最初只是将一个 ItemView 传递给 CollectionView,但我可以想办法将区域添加到该 ItemView 中。如果可能,我想在传递给它的文件中控制这些区域(无论是布局还是 ItemView)。
有人对这个有经验么?
编辑: 好的,所以我找到了使用 Marionette 附带的 Backbone.BabySitter 的提示——从这个文档中讨论了 CollectionView 的孩子。所以现在我的代码看起来像这样。
var collectionViewToUse = new CollectionView({
itemView: ALayout,
collection : someCollection
});
main_layout.main_region.show(collectionViewToUse);
collectionViewToUse.children.each(function(view) {
console.log(view);
//This fails.
view.regionManagers.someRegion.show('HHHHHH');
//So does this, if I run it instead
view.someRegion.show('Anything');
});
主干视图实例正在被记录,所以我想我在这里做点什么。谁能告诉我如何从这一步操作区域?