0
我想重用应用中的视图(以前打开的屏幕),但区域内容消失。如何防止Marionette做到这一点?区域内第二次显示父视图时,Marionette不显示子视图
var app = new Backbone.Marionette.Application();
window.app = app;
app.addRegions({
root: 'body'
});
var View1 = Marionette.LayoutView.extend({
template: _.template('<div>View1<div class="sub"></div></div>'),
regions: {
sub: '.sub'
}
});
var View2 = Marionette.ItemView.extend({
template: _.template('<div>View2</div>')
});
var SubView = Marionette.ItemView.extend({
template: _.template('<div>SubView</div>')
});
var view1 = new View1();
var view2 = new View2();
var subView = new SubView();
app.root.show(view1, { preventDestroy: true });
view1.sub.show(subView, { preventDestroy: true });
setTimeout(function() {
app.root.show(view2, { preventDestroy: true });
setTimeout(function() {
app.root.show(view1, { preventDestroy: true });
}, 500);
}, 500);
或小提琴http://jsfiddle.net/ndr7262y/