日期:2014-05-16  浏览次数:20489 次

第三章 Extjs在开发中如何实现代码复用 (入门教程)

第三章 Extjs在开发中如何实现代码复用 (入门教程)

?

如果要实现如下界面,你会选择那种代码?

?


?

代码1:



?

?

代码2:


?

?


?根据上面创建对象:



?

?

?

你会选择那种??建议选择代码2方式(或者参考我的另一篇文章的写法 一个Ext继承例子(下拉tree、grid、panel、form等组件的基类))!

?

因为这样可以实现代码复用,举个简单的例子,如果要做一个新增、修改的表单,可能你要copy两份代码,这样不利于维护,如果按照代码2的方式写,那么只要如下创建新增、修改的表单:

?

新增表单:

var addForm = new Register.MicWin({
       title : "新增",
       buttons : [{text:"保存"},{text:"取消"}]
}).show();

?

?

修改表单:

var editForm = new Register.MicWin({
       title : "修改",
       buttons : [{text:"保存"},{text:"取消"}]
}).show();

?

?

?

运行效果图:



?

1 楼 liuzk86 2010-02-06  
不错啊。看起来简单了很多..
2 楼 joehe 2010-02-09  
哪种方式都不用,这样用ext越用越累赘
3 楼 smilebug 2010-02-09  
在extjs官网上有好几种方式实现继承,这只是其中一种

至于有没有必要就看需求了,LZ这样写得太死了,除非系统里要用到N多次这种重复的东西。如果整个系统只出现一、两次的组件都这样整会麻烦死的。

以前扩展Ext组件,一般都是把一些类似于grid,tree等组件要由view,store, reader, proxy这些东东组成(人家为了分层嘛),设计是好的,但是系统里每次grid都写好几个东东就太麻烦,所以就扩展了一些自己的grid。个人感觉这样的意义会大一点。
4 楼 fnet 2010-02-09  
尽量标准化设计功能所需要的组件吧。

但即便是这样,有时也显得累赘:

比如一般一个功能打开后的界面:

上面一搜索
搜索下面是菜单:新增、修改、删除
最下面是个Grid

这里面至少涉及到:三个form window,一个grid 等等。。

这三个form有相同的属性,如果不重用,整个js就非常之长也显得累赘。。。
5 楼 lishuanglin52130 2010-02-12  
思维不错,但是太死板了,比如:我添加少个字段,就不行.....
6 楼 czpae86 2010-02-18  
lishuanglin52130 写道
思维不错,但是太死板了,比如:我添加少个字段,就不行.....


少了字段就加嘛,只加一个地方就可以了。。。。
7 楼 czpae86 2010-04-19  
joehe 写道
哪种方式都不用,这样用ext越用越累赘

请问那种方式?请指教!
这样用ext越用越累赘??累赘是指?