在我最近关注的教程之后,我一直在我的小骨干应用程序中使用以下内容进行自定义事件..
window.vent = _.extend({}, Backbone.Events);
在主干文档http://backbonejs.org/#Events
中进行了镜像然后文档继续说明,
例如,创建一个可以协调的便捷事件调度程序 应用程序不同区域之间的事件:var dispatcher = _.clone(Backbone.Events)
这可能是一个新问题,但究竟什么是事件调度程序?,以及如何扩展或克隆事件对象不同?
编辑:我已经读过克隆只执行一个浅层复制,通过引用传递现有值,但说实话,我并不完全清楚这意味着什么。
答案 0 :(得分:2)
克隆良好(http://underscorejs.org/#clone)会创建对象的浅表副本,但扩展(http://underscorejs.org/#extend)会获取第二个对象的所有属性,将它们放在第一个对象中,然后返回第一个对象。 / p>
换句话说,当你克隆时,你从1个对象开始并以2结束,当你扩展时,你开始并完成了2个对象(但是扩展对象除了拥有它们之外还将具有所有第二个对象的属性。在延期之前)。
事件调度程序允许使用pub子模式(http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern):应用程序的某些位“宣布”事物,应用程序的其他位可以监听并响应它们。