如何快速学习EXT,能写些表单,布局就行,不知道怎么下手啊。看项目的代码看不懂啊。

解决方案 »

  1.   

    json 面向对象
    必须有js基础首先明白js里面对象的构造方式
    var obj= new Object();//构造函数构造
    var obj={title:'test',value:'1'};//字面量构造,json写法,ext里面参数传递大多数就是这个方式了,一般都是传递一个对象,看着配置项眼花缭乱,一定要明白它就是一个对象而已数组的构造:
    var arr=new Array();//
    var arr=[1,2];//json写法,一定要明白这是一个数组,一般报表的数据源用的都是json数组,还有组件的重要配置项items也是一个数组明白对象和数组的json写法后,传递参数就没有问题了
    配置一个表单:var panel=new Ext.Panel(
      {
      renderTo:'div1',
      title:'',layout:'form',
      items:[
              {xtype:'textfield',fieldLabel:'项1'},
              {xtype:'textfield',fieldLabel:'项2'}
            ]
      }
    );
    panel.show();
    在页面写一个id为div1的div就可以显示出来了,能看明白么?
    向panel的构造函数传递了一个对象类型参数,这个对象有renderTo,title,layout,items几个属性;
    items又是一个数组,长度为2,是两个对象如果能看明白可以开始学习,
    看不明白还是先去打打基础吧,都说得这么清楚了还不明白只能是基础太差
      

  2.   

    谢谢你的回答,你写的代码还是可以看懂的,但是我现在学了快1个多星期了还是没什么进展啊,只能照着列子依葫芦画瓢啊,能不能推荐写书和资料什么的,还有那个API实在不好用啊。
      

  3.   

    api非常有用
    看来无问题还是在你的基础上
    理解面向对象的知识的话会好很多,完全没用过面向对象的编程的话会抓瞎
    最好的资料就是api,
    请确保能明白json对象,数组
    就上面的示例,换个写法:
    var items=new Array();
    for(var i=0;i<2;i++)
    {
      items.push({xtype:'textfield',fieldLabel:'项'+i};
    }
    var style=new Object();
    style.renderTo='div1';
    style.layout="form";
    style.items=items;
    var panel=new Ext.Panel(style);
    panel.show();
    和上面的一模一样,能明白么?
      

  4.   

    这句少写了个反括号,自己改下:
      items.push({xtype:'textfield',fieldLabel:'项'+i});
      

  5.   

    extjs 深入浅出推荐一下,还不错,API很有用的,什么方法都是从上面找的,
    别外API上面的例子很强大,多看看..
      

  6.   

    个人觉得api文档几乎是我所有学习的来源,上面的例子,并且看api对于不懂的config除了阅读意外更多的是去尝试修改参数后的测试,不断的试验,会帮助你理解的。。
    Extjs很重要的一点是面向对象的设计思想,所以楼主要是对面向对象不熟悉的话,尽量也去补一补知识,补一补实践
      

  7.   

    你有js基础,ext不是很容易啊?
    直接看方法是用说明就行了...
      

  8.   

    csdn抽了?发的贴居然没显示?
      

  9.   

    但为什么为什么看项目的代码就头大
    JetCom.initTerminalRel=function(){
    if(!JetCom.UI.TerminalRelPanel){
    /**
    * @description 定义命名空间
    */
    Ext.ns('JetCom.UI');

    /**
    * @class JetCom.UI.TerminalRelImportForm
    * @extend JetCom.UI.FormPanel
    * @description 数据导入From表单类
    */
    JetCom.UI.TerminalRelImportForm=Ext.extend(JetCom.UI.FormPanel,{
    /**
    * @description 是否查看导入明显
    */
    returnResult:false,
    /**
    * @description 操作url
    */
    actionUrl:'../Transform/Base/TerminalImportNew.aspx',
    /**
    * @description 默认的子项格式
    */
    defaults:{xtype:'textfield',width:300}, /**
    * @description 文件格式
    */
    fileType:'.xls|.zip|',
    /**
    * @description 文件的验证
    * @param {String}src 文件地址
    *@return {Boolean,String}
    */
    validatFile:function(src){
    var strFilter=this.fileType;
    if(src.indexOf(".")>-1){
    var p = src.lastIndexOf(".");
    var strPostfix=src.substring(p,src.length) + '|';        
    strPostfix = strPostfix.toLowerCase();
    if(strFilter.indexOf(strPostfix)>-1){
    return true;
    }else{
    return lang.msg.filePatternError+this.fileType;
    }
    }
    },         
      

  10.   


    当你对一个东东不熟悉的时候,API是你学习的原点,是一切的索引,是这个东东的大百科全书
      

  11.   

    你也可以看看视频教学,sencha上面有视频的
      

  12.   

    建议熟练用好js在用类库,能用js的地方绝对不用类库,等js到达了一个出神入化的地步再用类库吧