今天,有人请教我处理办法,问题是: 服务器
一个Grid,选择某条记录后,单击编辑后,弹出编辑窗口(带编辑表单),编辑完成后单击保存按钮保存表单,并关闭窗口,刷新Grid。 工具
这,原本是很简单的,但囿于开发人员对Ext JS的理解不到位,搞得至关的复杂了。 性能
主要复杂的地方在如下几点: spa
- 为了实现编辑表单的可重用,把表单作成了页面,而后在Window中套IFRAME打开页面。
- 表单的提交不是用Ajax提交,而是使用习惯的页面跳转方式提交,因而,一切都复杂起来了。
要这样实现,也不是不能够,在最后的提交页面,调用parent对象操做父页面的对象关闭窗口并刷新Grid。不过,这样实在太复杂了。 .net
这里存在的问题是对Ext JS的开发理解不到位,仍是根据老的开发方式去来写Ext JS的应用程序,于是原本简单的东西一会儿就复杂化了,这也是不少初学者常常犯的错误。 对象
要很好的使用Ext JS进行开发,要牢记如下几点: blog
- Ext JS的数据交互,基本上是以Ajax为工具,以JSON或XML格式数据进行交互,这个过程,不须要任何的页面跳转来实行,数据的处理都以一种很标准化的数据格式进行处理,如错误处理、成功保存等等信息,均可经过JSON或XML格式的数据来告诉客户端,让客户端去进行处理。
- 使用Ext JS(尤为是4)编写本身的扩展,实现组件的重用,很是的方便,不须要把重用部分作成一个页面那么麻烦。
- 使用Ext JS 4能够很容易实现单页面的应用程序,也就是只须要一个页面就好了,客户端与服务器端的数据交互都是遵循第一点来处理的。固然,担忧性能问题的,也会以IFRAME形式来实现多页面的应用程序,可是,必须明白的是,这也是以单页面为基础的,意思就是,一个IFRAME页面的流程,基本就是一个单页面的应用程序的流程,不须要相似习惯的Web开发方式那样进行多个页面的控制。理解这点很重要,否则,还真不如不用Ext JS,直接使用习惯的Web开发方式来开发。
- Ext JS在客户端也是数据与UI分离的,千万别在UI中找数据。
- 使用Ext JS,是基于组件形式来组织UI的,而不是以HTML代码来组织UI的,尽管最终生成的都是HTML代码。通常状况下,是不须要直接编写HTML代码就能实现应用程序的,若是确实须要使用使用HTML代码,那就要考虑为何要用、是否有替代办法、怎么用这样问题。