博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Ext JS,不要使用页面做组件重用,尽量不要做页面跳转
阅读量:7082 次
发布时间:2019-06-28

本文共 1010 字,大约阅读时间需要 3 分钟。

今天,有人请教我处理办法,问题是:

一个Grid,选择某条记录后,单击编辑后,弹出编辑窗口(带编辑表单),编辑完成后单击保存按钮保存表单,并关闭窗口,刷新Grid。

这,本来是很简单的,但囿于开发人员对Ext JS的理解不到位,搞得相当的复杂了。

主要复杂的地方在以下几点:

  • 为了实现编辑表单的可重用,把表单做成了页面,然后在Window中套IFRAME打开页面。

  • 表单的提交不是用Ajax提交,而是使用习惯的页面跳转方式提交,于是,一切都复杂起来了。

要这样实现,也不是不可以,在最后的提交页面,调用parent对象操作父页面的对象关闭窗口并刷新Grid。不过,这样实在太复杂了。

这里存在的问题是对Ext JS的开发理解不到位,还是根据老的开发方式去来写Ext JS的应用程序,因而本来简单的东西一下子就复杂化了,这也是很多初学者经常犯的错误。

要很好的使用Ext JS进行开发,要牢记以下几点:

  • 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代码,那就要考虑为什么要用、是否有替代办法、怎么用这样问题。

以上纯个人观点,可能还有没考虑到的地方,忘大家斧正。

转载地址:http://ohoml.baihongyu.com/

你可能感兴趣的文章
IOC疑惑
查看>>
爱上一匹野马
查看>>
ADS的使用
查看>>
STL的string和wstring
查看>>
[ucgui] 仪表盘函数
查看>>
windows下的Nginx+Squid+Tomcat+Memcached集群
查看>>
Javascript玩转继承(一)
查看>>
[问题2014S15] 解答
查看>>
为人处世
查看>>
ios开发中用过的一些外部库总结 cocoapods list
查看>>
wcf系列5天速成——第一天 binding的使用(1)
查看>>
如何解决谷歌Chrome浏览器空白页的问题
查看>>
XSS检测工具 X5S/fiddler
查看>>
Linux守护进程的编程实现
查看>>
Linux查看端口信息命令
查看>>
jq中写PHP
查看>>
jsp EL 表达式
查看>>
问题-Delphi编译时提示缺少delphi自己的单元文件
查看>>
四个 服务器设计模型(42)
查看>>
libevent多线程使用事项
查看>>