2013-09-08 1 views
4

Может ли кто-нибудь уточнить правильное использование событий и команд со следующим примером регистрации и входа?Общие сведения о событиях и командах магистрали/марионеток

Типичным App моя потребность функции в

  • отображения формы регистрации
  • выполнить Регистрация
  • показать страницу успеха

и

  • дисплей Логина форма
  • выполнить Войти
  • ручки успешно Войти

Как это может быть сопоставлено с Backbone/марионеткой События?

Как это можно сопоставить с командами WreqR?

Я struggeling с именованием событий:

например onShowSignUp:

Разве это не событие, которое должно быть запущено ПОСЛЕ того, как отображается форма регистрации? Как должно быть вызвано событие, вызывающее функцию showSignUpForm или showLoginForm?

ответ

1

События и команды предназначены для развязки модулей друг от друга.

Модуль A не знает явно о модуле B, он только генерирует событие на application.vent, например, для регистрации, затем модуль B прослушивает это событие и перенаправляет страницу браузера на успех.

То же самое с командами, но больше подходит для ситуации, когда вам нужна какая-либо информация для продолжения, например, после успешного входа в систему, введя имя пользователя для входа в систему. Если вы не хотите, чтобы вся зависимость чтобы получить учетные данные пользователя, зарегистрируйте команду в модуле A, а затем модуль B и C может получить ее отцепленную от ее конкретной реализации.

+0

Благодарим вас за ответ. Я знаком с шаблонами наблюдателей и команд. Мне интересно, как сделать это чистым и понятным. По-моему, событие onShowSignup не должно запускать функцию RegisterForm, но показывать ее скорее, если приложение будет закончено. Скажете ли вы, что для этого нужны команды? Например. команда showSignupView? Считаете ли вы, что это хорошая идея для запуска команд с маршрутизатора? В моем случае это было бы необходимо, чтобы иметь возможность реагировать с несколькими контроллерами при изменении маршрута. – thertweck

+0

Я бы поместил логику маршрутизации в отдельный модуль и инициировал событие, когда была отправлена ​​регистрация, и модуль маршрутизации прослушивает это событие. Модуль регистрации не отвечает за маршрутизацию, он только передает события с завершением регистрации. – Blacksonic