在采用Ajax进行系统实现时,通常会采用onepage的方式进行实现,自己目前也在一个实际的项目中使用着,总体感觉有几点是在使用onepage时特别要注意的:
1、js事件的有效范围的控制
由于一直在同一个页面,这个时候特别要注意对于js事件有效范围的一个控制,我觉得是需要同样的模仿出以前在传统的MVC模式下的session范围/request范围等,当然,js事件的有效范围则要控制的更加细致,甚至要控制到域级。
之前发布的一个js版本的事件管理器中是缺乏对于范围的控制的,在使用中出现了不少的问题,现在正在逐步的调整,等以后完全调整好后再发布一个版本。
2、资源有效范围的控制
其实这个和上面的问题类似,由于不切换页面,往往在组件交互的过程中采取的都是清空目前容器的方式,这个时候要特别注意....
觉得onepage的方式固然在理论上来讲是比较好的,但在实际开发上还是比较希望采用类似的之前切换页面的方式,这个在buffalo中有支持,switchView和switchPart,觉得那样开发起来的话会觉得比较的习惯,而且不用去担心关于js事件/资源有效范围这个因素,不过我这点我不确定buffalo是否能做到,因为我看buffalo好像也没有在某个范围级别的资源清除的处理....
dwr新的版本,也就是1.1中集成了对于pageflow的支持,这是个不错的feature,^_^,有空的时候去摸索摸索,^_^