Есть ли более элегантный способ, чем тот, который приведен ниже, чтобы добавить другой вид в регион? Я бы хотел добавить столько окон чата, когда нажимается кнопка, и уничтожать ее, когда нажимается кнопка в окне чата.Элегантный способ добавления нескольких видов в регион в Marionette
Один ниже требует, чтобы следить за индексом для каждого элемента:
var AppLayoutView = Backbone.Marionette.LayoutView.extend({
template: "#layout-view-template",
regions: {
wrapperChat : '#wrapper-chat'
}
appendView: function (incremennt, newView){
this.$el.append('<div id="view'+increment+'" >') ;
this.regionManager.addRegion('view'+increment , '#view'+increment)
this['view'+increment].show (newView) ;
}
});
// ChatView
var ChatView = Marionette.ItemView.extend({
template: "#chat-template"
});
// Layout
var LayoutView = new AppLayoutView();
LayoutView.render();
// Append View
LayoutView.wrapper.appendView(++index, new ChatView());
Смотрите также: http://stackoverflow.com/questions/20570284/creating-a-layout-that-accepts-a-variable-number-of-views-and-hence-regions?rq=1 – joews