我有一個backbone.js應用程序,其視圖具有多個狀態,這些狀態彼此之間有很大不同(「視圖」,「編輯」等)。每個視圖至少有2個不同的模板。還行吧。我的問題是與JS視圖管理代碼。用複雜狀態管理視圖
我依賴於initalize-thin-render-thick方法(我認爲這很糟糕),其中render方法是邏輯發生的80%-90%。當我想更改狀態時,我只需使用特定參數(「view」,「edit」)調用render方法即可。在此基礎上,視圖決定要展示什麼,不知道什麼,要綁定哪些事件等。
我認爲這是不好的,因爲一方面它會在渲染過程中造成瓶頸,另一方面,這不是合適的狀態機,這意味着我沒有進行可能以前被綁定的回調。當我收到視圖時,我只是清理視圖,就是這樣。我還觀察到,我沒有使用骨幹提供的委託事件系統,我認爲這是另一個減號,因爲我認爲它很好地實現(順便說一句,它是否確保解除綁定回調,何時某個DOM元素被刪除?)
我想我需要一些嚴重的重構。請幫助一些建議,以確定多態Backone視圖的最佳方法。