在Js代码中,如果有两个js对象(一个处理UI(例如一个表单)和另一个向服务器发送请求。
使用自定义事件或正常函数调用在这些组件之间进行交互的更好方法是什么。
例如。
clickForm = function(){
validateForm();
$(document).trigger("submitForm",{"userData":userData});//Event submitForm listened by formManager submitForm method.
}
OR
clickForm = function(){
validateForm();
formManager.submitForm(userData);
}
clickForm方法是UI组件的一部分,它负责管理HTML代码的UI交互。通常在单击提交按钮时调用此函数。
submitForm方法是核心Object的一部分,其作用是向服务器发出请求,解析响应,然后将结果发送到UI组件。
这两种方法中的哪一种是更好的互动方式。任何建议?
答案 0 :(得分:7)
“更好”是一个棘手的概念。 : - )
使用事件将对象更松散地耦合在一起,这通常被认为是一件好事,并且允许不仅仅是两个对象协作的可能性(例如,事件的多个订阅者;以及相反的对象)可以订阅两个来源的活动。)
事件机制将有更多的开销,这在大多数情况下无关紧要(当然不是在提交表单时),但可能在一小类案例中(每秒发生数千次)。事件机制也可能在读取和调试时有点棘手。