backbone.js – 从项目视图到父版面浏览的Marionette bubble事件?

我有一个区域的布局视图,在该区域我有一个项目视图触发一个事件,但似乎没有冒泡到布局视图.我做错了什么或是这样设计的行为?我假设itemview前缀未添加,因为父视图不是集合视图?无论哪种方式,事件都不会冒泡到布局视图.
layoutView = Marionette.Layout.extend({
        template: "#layout-template",regions: {
            titleRegion: "#job-title-region"
        },triggers: {
            "save:clicked" : "onSaveClicked"
        },onSaveClicked: function (args) {
            alert('Clicked');
        }
    });

childview = Marionette.ItemView.extend({
        template: "#child-template",triggers: {
            "click .js-save": "save:clicked"
        }
    });

更新:

看到这个小提琴http://jsfiddle.net/7ATMz/11/我设法得到布局视图来监听子事件,但是我必须将其连接到布局视图本身之外,并打破封装.无论如何,我可以在布局视图中执行此操作吗?

谢谢,

乔恩

解决方法

触发器不太像这样工作:你的布局使用错误.触发器是给予特定交互(例如,点击)引发事件信号的便利.

你想要的是使用triggerMethod(https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.functions.md#marionettetriggermethod)来触发你的布局中的一个功能.参见http://jsfiddle.net/ZxEa5/基本上,你想要这个在你的演出功能:

childView.on("btn:clicked",function(){
  layout.triggerMethod("childView:btn:clicked"); 
});

在你的布局中:

onChildViewBtnClicked: function(){
   https://leanpub.com/marionette-gentle-introduction
});

事件冒泡只会自动与收集复合视图,因为它们与项目视图紧密相关.如果您想要布局来监视其中的一个子视图,则需要自行设置.

无耻的插件:如果您想了解更多关于如何使用Marionette构建和清理代码的信息,您可以查看我的书(https://leanpub.com/marionette-gentle-introduction)中更详细的解释这一概念(及其应用)的内容.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)