【问题标题】:Marionette show event does not be triggerd未触发木偶秀事件
【发布时间】:2014-03-13 14:52:50
【问题描述】:

我想在显示任何区域后执行显示代码。我试过了:

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 函数没有运行。它有什么问题?

【问题讨论】:

    标签: backbone.js marionette


    【解决方案1】:

    在区域列表中定义区域的方式有 3 种:

    1. 带选择器的字符串
    2. 具有selector 和regionType 属性的对象
    3. 区域类

    因此,当您传递对象时,您不能指定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/

    文档在这里:https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.region.md#custom-region-types

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 2013-07-15
      • 2015-07-24
      • 1970-01-01
      相关资源
      最近更新 更多