У меня есть LayoutView, который показывает свои собственные дети. Согласно документации, я могу расширить объект childEvents
, чтобы автоматически прослушивать любые события, вызванные его дочерними представлениями.Marionette 2.4.4 Дети-макеты LayoutView не стреляют?
Это не работает для меня вообще. Может ли кто-нибудь определить, что я могу делать неправильно?
Show.QuizLayout = Marionette.LayoutView.extend({
template:_.template("<h3><%= title %></h3><div id='quiz'></div>"),
regions: {
card: "#quiz",
},
childEvents: {
"next:question": "showNextQuestion",
},
showNextQuestion:function() {
//I NEVER GET CALLED!!!
},
onShow:function(){
var v = new Show.QuizCard();
this.showChildView('card',v)
});
Show.QuizCard = Marionette.ItemView.extend({
className: "quizcard",
template: _.template("<div class='card' id='next'>Next</div>"),
events: {
"click #next":function(e){
this.trigger("next:question")
}
},
});
Я получил вокруг этого, установив v.on("next:question", function(){...})
, но это создает хлама я предпочел бы не иметь дело с, если бы я мог получить childEvents
работать так, как они должны.
Я знаю, что они были добавлены только в 2.4.0, и название было изменено на 'childViewEvents' в 3.x, – mix3d