Backbone.js - 暂时禁用(事件)视图

wir*_*uma 5 javascript javascript-events backbone.js backbone-events

TL; DR如何临时禁用View以便我可以安全地加载另一个View,然后安全地关闭加载的View以返回到原始View?

我有以下场景:

  1. 用户打开/search哪些加载SearchView.
  2. 用户单击按钮以执行搜索.
  3. 里面的集合SearchView充满了数据,UI被更新以反映出来.
  4. 用户单击结果项.
  5. SearchView被禁用(只需要禁用events?).
  6. ItemView 已加载,显示项目详细信息.
  7. 用户单击按钮关闭ItemView.
  8. SearchView 重新启用.

实现第5点和第8点的最佳方法是什么?我想调用SearchView.unbind()(第5点)和SearchView.bind()(第8点).

额外奖励:如果解决方案是堆栈式的,那会更好.即视图A加载视图B,可以加载视图C.当视图C关闭时,视图B恢复,等等.

Pau*_*aul 9

尝试呼叫SearchView.undelegateEvents()点5,然后呼叫SearchView.delegateEvents()点8.