Backbone.js - временно отключить (события в) View - PullRequest
5 голосов
/ 15 марта 2012

TL; DR Как временно отключить просмотр, чтобы я мог безопасно загрузить другой просмотр, а затем безопасно закрыть загруженный просмотр, чтобы вернуться к исходному виду?

У меня есть следующий сценарий:

  1. Пользователь открывает /search, который загружает SearchView.
  2. Пользователь нажимает кнопку для выполнения поиска.
  3. Коллекция внутри SearchView заполнена данными, пользовательский интерфейс обновлен с учетом этого.
  4. Пользователь щелкает элемент результата.
  5. SearchView отключен (нужно только отключить events?).
  6. ItemView загружен, отображая детали элемента.
  7. Пользователь нажимает кнопку, чтобы закрыть ItemView.
  8. SearchView повторно включен.

Каков наилучший способ достижения пунктов 5 и 8? Я думаю о звонках SearchView.unbind() (для пункта 5) и SearchView.bind() (для пункта 8).

Бонус : Было бы лучше, если бы решение было похоже на стек. То есть View A загружает View B, который может загрузить View C. Когда View C закрыт, View B восстанавливается и т. Д.

1 Ответ

9 голосов
/ 15 марта 2012

Попробуйте позвонить SearchView.undelegateEvents() для пункта 5, а затем SearchView.delegateEvents() для пункта 8.

...