我使用Marionette 3.0。構建視圖,在區域中添加新的子視圖
我有BlockView可能有不同數量的區域。 這些區域充滿了BlockRegionViews,它們是CollectionViews(它們將在2.x中),並且這些視圖呈現更多的BlockViews。 我想寫一個函數,它創建一個BlockView,它的區域已經填充了(空的)BlockRegionViews,並且返回這個BlockView。
所以我寫了這個代碼:
var blockView = new BlockView({model: blockModel});
var regions = blockModel.get('regions')
for(var i in regions) {
var blockRegionModel = regions[i];
var blockRegionView = new BlockRegionView({model: blockRegionModel});
blockView.addRegion(blockRegionModel.get('position'), '...regiondefinition...');
var region = blockView.getRegion(blockRegionModel.get('position'));
// This is the line where i get the error.
region.show(blockRegionView);
}
return blockView;
當然我的代碼是壞的。即使show函數的名字也表明它不適合我(因爲我不想在這個時候顯示任何視圖),但在文檔中我找不到這樣的東西。
所以我的問題是:我應該如何構建一個視圖與在其區域中初始化的其他視圖,而不呈現任何視圖?
CollectionViews仍然是Marionette 3.x版本的一部分,然而LayoutView和ItemView現在只是稱爲View(它們非常相似)。 – miphe