我首先跳到脊梁,木偶,下划线和要求为这个项目。我刚看了一段很棒的视频,演讲者解释了木偶的一个好处,那就是拥有应用程序对象委托事件侦听器和触发器的能力,这样您的代码就可以真正模块化。
如果这真的是可能的话,我就不太明白了,我很难在网上找到任何例子,我想,因为它是一个相对年轻的图书馆。
下面是一个缩小的示例,说明我正在努力完成的任务:
var App = new Marionette.Application();
App.start();
var NavBar = Backbone.View.extend({
el: '#nav',
initialize: function () {},
events: {
'click': 'fireOff'
},
fireOff: function () {
App.vent.trigger('trigger');
}
});
var NavBar = new NavBarView({});
App.vent.on('trigger', function () {
alert('something');
});我希望在这里发生的是,当我点击#导航中的任何位置时,我就会收到警报。现在,我意识到我没有正确地传递对象,但这是我混淆的一部分。我认为我应该使用木偶扩展视图而不是主干视图。
因此,我的基本问题是,如何在主干/木偶应用程序中编写模块,以便单个视图可以为事件做广告,然后由“主”应用程序对象将事件发送到侦听该事件的模块?
发布于 2014-02-25 07:19:34
尝试使用Marionette视图:
var NavBar = Marionette.ItemView.extend({
// ...
});(另外,您还需要在某个时候显示视图。)
您还可以在与我的关于Marionette的书一起的代码中看到这方面的示例。
您可以在http://davidsulc.github.io/marionette-gentle-introduction/#contacts上看到该应用程序正在运行。
https://stackoverflow.com/questions/22005210
复制相似问题