Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 了解主干/木偶事件和命令_Javascript_Backbone.js_Marionette_Backbone Events - Fatal编程技术网

Javascript 了解主干/木偶事件和命令

Javascript 了解主干/木偶事件和命令,javascript,backbone.js,marionette,backbone-events,Javascript,Backbone.js,Marionette,Backbone Events,有人能用下面的注册和登录示例说明事件和命令的正确用法吗 我需要的一个典型应用程序 显示注册表单 执行注册 显示成功页面 及 显示登录表单 执行登录 处理成功登录 如何将其映射到主干/木偶事件 如何将其映射到WreqR命令 我正在为这些事件的命名绞尽脑汁: e、 g.onshowSign: 这不是一个应该在显示注册表单后触发的事件吗?应如何调用触发showSignUpForm的事件或showLoginForm函数?事件和命令旨在将模块彼此解耦 模块A并不明确了解模块B,它只在应用程序上发出

有人能用下面的注册和登录示例说明事件和命令的正确用法吗

我需要的一个典型应用程序

  • 显示注册表单
  • 执行注册
  • 显示成功页面

  • 显示登录表单
  • 执行登录
  • 处理成功登录
如何将其映射到主干/木偶事件

如何将其映射到WreqR命令

我正在为这些事件的命名绞尽脑汁:

e、 g.
onshowSign


这不是一个应该在显示注册表单后触发的事件吗?应如何调用触发showSignUpForm的事件或showLoginForm函数?

事件和命令旨在将模块彼此解耦

模块A并不明确了解模块B,它只在
应用程序上发出一个事件。例如,vent
注册提交,然后模块B侦听此事件并将浏览器重定向到成功页面


命令也一样,但更适合于需要某种信息才能继续的情况,例如在成功登录后检索登录者的用户名。如果您不想将依赖关系放在任何地方如何获取用户凭据,请在模块a中注册一个命令,然后模块B和C可以将其从具体实现中分离出来。

谢谢您的回答。我熟悉观察者和命令模式。我想知道如何做到这一点干净和理解。在我看来,onShowSignup事件不应该触发SignupForm显示,而是应该在应用程序完成此操作时触发。你会说这就是命令的作用吗?例如,“showSignupView”命令?你认为从路由器触发命令是个好主意吗?在我的情况下,这将是必要的,以便能够与多个控制器对路由更改做出反应。我将把路由逻辑放在一个单独的模块中,并在提交注册时触发一个事件,路由模块侦听此事件。注册模块不负责路由,它只在注册完成时广播一个事件。