10

在 Js 代码中,如果有两个 js 对象(一个处理 UI(例如表单),另一个将请求发布到服务器。

使用自定义事件或普通函数调用在这些组件之间进行交互的更好方法是什么。

例如。

  clickForm = function(){
      validateForm();
      $(document).trigger("submitForm",{"userData":userData});//Event submitForm listened by formManager submitForm method.
  }

或者

clickForm = function(){
     validateForm();
     formManager.submitForm(userData);
  }

clickForm方法是 UI 组件的一部分,负责管理 HTML 代码的 UI 交互。该函数通常在单击提交按钮时调用。

submitForm方法是核心对象的一部分,其职责是向服务器发出请求,解析响应,然后将结果发送到 UI 组件。

这两种方法中的哪一种是更好的交互方式。有什么建议么?

4

1 回答 1

10

“更好”是一个棘手的概念。:-)

使用事件可以更松散地耦合对象,这通常被认为是一件好事,并且允许不仅仅是两个对象协作(例如,多个订阅者的事件;相反,一个对象可以订阅两个来源的事件)。

事件机制将有更多的开销,这在大多数情况下并不重要(当然在提交表单时),但在一小部分情况下(每秒发生数千次的事情)可能。事件机制可能有点难以阅读和调试。

于 2012-06-26T09:14:57.943 回答