分享

extjs2.1 学习笔记

 飞鹰飞龙飞天 2014-12-05

要拿extjs来练一练

2009-06-17 20:07

         去年研究extjs的源代码研究了一个来月,结果代码是通了,但没有跳出源代码的影响。啥应用都写不出来。今年不搞学术研究了。打算用extjs写个应用来练一练。预计有以下功能:

       一、权限系统,可扩展的权限系统

       二、完全用js+webservice架构

       三、完全不使用asp.net的页面架构,UI全仿真WinForms(这是extjs的特长,没悬念)

       四、考虑安全问题(完全ajax下安全问题的初步研究)

分类:extJs| 阅读(196)| 评论(1)

还是extjs好啊

2009-06-16 22:19

        extjs千好万好,就是慢了。jquery对OOP几乎没有支持,就是快、查询快,方便,什么都快。

        在写了几个widget后,感叹,不要自己美工真是爽啊。如果要快速写一个应用来。用extjs现成的东西还是要快一些。可惜extjs 3.0后面的版本就要收费了。。。

分类:extJs| 阅读(332)| 评论(0)

extjs出3.0了

2009-06-13 09:10

        extjs出3.0 RC2了,且正在研发图形化设计工具。

        看了视频教程,只需拖拖拉拉就可以设计了,不用再辛苦地一行一行地写js代码。

        前一阵子写js,发现了自己的薄弱环节。

分类:extJs| 阅读(139)| 评论(0)

对ExtJs的态度

2008-06-19 12:56

  extjs的确是个好东西,但是,它的优点也就是它的缺点:

  • 加载页面慢
  • 时间一长,浏览器占内存就会疯长
  • 服务器端功能极度削弱,除了数据库操作外,几乎所有功能都到了客户端,还得用javascript来写。
  • 功能全到了客户端,而客户端语言javascript的编写还是有许多的麻烦,真正精通它的人极少。
  • javascript对于大部分人来说,不易调试
  • 大量存在的javascript代码难以维护
  • 开发速度极慢。

分类:extJs| 阅读(491)| 评论(1)

  Ext.form中封装了是输入组件。input、textArea、frameSet、form等元素都被包装起来了。我刚才发了点时间对它的类图分析了一下,用StartUML做了图如下:

  Ext.form中的组件太多,实在不大方便一一研究,哪来的时间。还好,有示例,照着用吧。不明白的再去看代码、看文档。

分类:extJs| 阅读(418)| 评论(0)

  Ext.TabPanel这个东西是最常用的组件之一,它继承自Ext.Panel。看了一个下午的源代码,对它的一些基本原理有所了解了。

  下面要讲一些问题,这些问题绝对是本人独门秘笈,非入室弟子不传。哈哈哈。

  一、组件的组成:

  因为继承自Ext.Panel,所以,它也是由header、tbar、body、bbar、footer这几个部分构成,有人问:TabPanel的面板标签是在哪儿呢(就是你点击换页的东西)?它默认是放在header中的。但是,如果设置了:tabPosition的话就不一定了,tabPosition可取两个值:top、bottom。所以,标签可以是放在下面,但是,Ext目前还不支技放在左边、右边。

  那

分类:extJs| 阅读(545)| 评论(0)

  ExtJs对JavaScript的内建对象进行了扩展,对什么Object、Date、Array、Function、String的扩展,扩展方法想必诸位都烂熟于心了:用prototype的办法。这一篇讲一讲Function扩展的精妙之处,之所以突然研究这个问题,是因为我在研究Ext.data.Store的源代码时,看到一行代码:

  this.reader.onMetaChange = this.onMetaChange.createDelegate(this);

  当初,我在研究Ext.js中的代码时,对于Function的几个扩展想不透、看不明,今日大悟。且见扩展的源代码:

分类:extJs| 阅读(390)| 评论(0)

  Ext.data.Store,这个东西是JavaScript版的DataTable啊。貌似其他Ajax框架都没有这个玩意啊。可见啦,Ext是真的打算把b/s开发重新变成c/s开发啊。哈哈哈。便宜我等了。待某细研之。

  Store类提供对记录集(Record)的包装,通过前面的研究可知,DataProxy取数据(url或数组或xml或json),DataReader用于从不规范的数据取出并格式化指定结构的记录集。记录的结构由Record.create创建。

  DataProxy通过对Connection的调用取得数据(Response)后,在回调中调用DataReader的read函数,从而把response中的数据解析成记录集,这个记录集将再以回调参数的形式传出来,store实现这个回调,并把里面的Recodrd[]取出来,放到data这个成员

分类:extJs| 阅读(537)| 评论(0)

  有了上一篇中所讲内容,一般情况下就可以应付了,不过,JsonReader有一些细节问题,还要细究。待某家一一道来。

  构造函数已讲,下面依代码顺序讲解了。

    read : function(response){
        var json = response.responseText;
        var o = eval("("+json+")");
        if(!o) {
            throw {message: "JsonReader.read: Json object not found"};
        }
        return this.readRecords(o);

分类:extJs| 阅读(441)| 评论(0)

  嘿,别看关键就在这儿,事实上,它的代码很少的哦。加上注释才219行。研究研究。

  有个事要说一下:DataProxy的子类呢,都有一个load来加载数据,DataReader的子类呢,都有一个read来读取数据。

  而Ext.data.JsonReader有两个关键函数:read、readRecords。好了。来研究一下。

  Ext.data.JsonReader = function(meta, recordType){
       meta = meta || {};
       Ext.data.JsonReader.superclass.constructor.call(this, meta, recordType || meta.fields);

分类:extJs| 阅读(502)| 评论(0)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多