5

TL; DR如何臨時禁用視圖以便我可以安全地加載另一個視圖,然後安全地關閉加載的視圖以返回到原始視圖?Backbone.js - 暫時禁用(事件中)查看

我有以下情形:

  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被關閉,查看B的恢復,他們可以載入視圖C.等

+0

你爲什麼不使用'router.navigate'將用戶移動到具有他們選擇的數據的'ItemView'中並卸載'SearchView'。這將使它不必解綁任何東西。 – tkone 2012-03-15 17:25:18

+0

這也會帶來額外的好處,用戶可以點擊返回到項目詳細信息的搜索結果 – tkone 2012-03-15 17:26:57

+0

@tkone我使用'router.navigate'來更新URL,但不能摧毀'SearchView'作爲搜索結果使用無限滾動顯示。滾動位置必須保持。 – wiradikusuma 2012-03-16 14:27:24

回答

9

嘗試調用SearchView.undelegateEvents()爲5點,然後SearchView.delegateEvents()爲點8