我面臨着什麼看起來像殭屍參考案例。事件保持綁定到殭屍實例
首先,這是我正在使用的代碼。
在這裏,你會發現我的用戶信息經理佈局gist
控制器,相反,可以發現here
操作的流程如下:
- 管理員訪問權限列表的用戶碰到控制器上的「管理用戶」的路由。
- 管理員單擊用戶行並觸發事件「users:selected」並且偵聽器接收用戶實例以使用。
- DetailsLayout得到實例化並在應用程序的主佈局中呈現。在其「內容」區域中具體爲 。
- 處理用戶詳細信息表單的視圖也被實例化,並在 DetailsLayout的「dettagli」區域內呈現。
- 此時,管理員有興趣管理此用戶的筆記。因此,他在標記爲「筆記」的標籤上點擊 ,筆記列表將在DetailsLayout「筆記」區域中呈現。
- 點擊管理員想要處理的筆記,觸發事件「筆記:已選中」,它將筆記實例傳遞給相應的事件處理程序(DetailsLayout.showNote)。
此時一旦管理員單擊一個觸發DetailsLayout.showUsers,進而觸發事件鏈接「用戶:指數」由上述提到的控制器聽了,他 回來到列表中的第1點以上。
直到第5點重複整個過程都如預期的那樣工作,但是,只要管理員 選擇了工作註釋,調試器就會顯示關於DetailsLayout區域「note」未定義的錯誤。
通過代碼步步運行我已發現,在第二次運行中燒製 正確綁定到DetailsLayout的適當實例除了其仍然結合於第一遍使用的實例的點6的事件。
上面的代碼顯示每次顯示用戶的詳細信息時都會創建一個新的DetailsLayout實例。難道這不足以保證沒有殭屍還在身邊嗎?如果我從backbone.marionette文檔中正確記得,每次layout.region.show()命中時,它會關閉前一個視圖(解除事件和所有其他事件)並附加新傳遞的視圖。
那是我做錯了什麼?
在此先感謝您的幫助。 Regards
P.S.
Backbone.marionette版本0.8.4
Backbonejs版本是0.9。2
你能與問題發佈您的代碼內嵌? –