我希望在显示任何区域后执行show code。我试过了:
app.Layout = Backbone.Marionette.Layout.extend({
template: "#layout-template",
regions: {
mini1: {
selector: "#mini1",
onShow: function () {
console.log("triggered!");
}
}});
app.layout.mini1.show(new view());
但是onShow函数没有运行。这有什么问题?
答案 0 :(得分:2)
在区域列表中有三种定义区域的方式:
selector
和regionType
属性的对象因此,当您传递对象时,您无法指定onShow
处理程序。但如果你传递了扩展的Marionette.Region
:
var Layout = Backbone.Marionette.Layout.extend({
template: "#layout-template",
regions: {
mini1: Marionette.Region.extend({
el: "#mini1",
onShow: function () {
console.log("triggered!");
}
})
}
});
您可以在此处查看此解决方案:http://jsfiddle.net/2CvzR/