0

我已经使用 jquery、marionette 等编写了代码来创建我的 html 页面。我想将我的观点与我的业务逻辑隔离开来,我认为这是正确的方法:)。

我通过函数中的参数传递 Marionette.ItemView 为 html 页面创建了一个通用的 Marionette.Layout。这是我的代码的链接

通常,如果我们想处理 ItemView 中的按钮单击,我们将使用事件:{click .btnSubmit = buttonClicked},但我想要的是与页面关联的事件应该从不同的脚本文件处理,以便每当我改变我认为我的业务逻辑不会受到影响。如果您将浏览我的代码,我已经创建了一个脚本文件 busn_logic.js,我想在其中处理任何 ItemView 上的所有点击事件。

所以请帮助我。提前致谢。

4

1 回答 1

0

为此,您需要使用应用程序事件。从您的角度来看, call MyApp.trigger("submit:button:clicked"),然后在您的业务逻辑文件中,监听该事件:

MyApp.on("submit:button:clicked", function(){
  // process the event here
})

(请注意,您还可以在事件触发器上传递参数,例如click事件。)

如果您需要您的业务逻辑来控制视图,请triggerMethod像这样使用:https ://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/apps/contacts/list/list_controller.js# L61

于 2013-06-05T07:45:14.327 回答