在采用Ajax進行系統實現時,通常會采用onepage的方式進行實現,自己目前也在一個實際的項目中使用著,總體感覺有幾點是在使用onepage時特別要注意的:
1、js事件的有效范圍的控制
由于一直在同一個頁面,這個時候特別要注意對于js事件有效范圍的一個控制,我覺得是需要同樣的模仿出以前在傳統的MVC模式下的session范圍/request范圍等,當然,js事件的有效范圍則要控制的更加細致,甚至要控制到域級。
之前發布的一個js版本的事件管理器中是缺乏對于范圍的控制的,在使用中出現了不少的問題,現在正在逐步的調整,等以后完全調整好后再發布一個版本。
2、資源有效范圍的控制
其實這個和上面的問題類似,由于不切換頁面,往往在組件交互的過程中采取的都是清空目前容器的方式,這個時候要特別注意....
覺得onepage的方式固然在理論上來講是比較好的,但在實際開發上還是比較希望采用類似的之前切換頁面的方式,這個在buffalo中有支持,switchView和switchPart,覺得那樣開發起來的話會覺得比較的習慣,而且不用去擔心關于js事件/資源有效范圍這個因素,不過我這點我不確定buffalo是否能做到,因為我看buffalo好像也沒有在某個范圍級別的資源清除的處理....
dwr新的版本,也就是1.1中集成了對于pageflow的支持,這是個不錯的feature,^_^,有空的時候去摸索摸索,^_^