我看官网给你的例子都是这样:
Ext.create( 'className', {
  field1 : something,
  field2 : something} );为什么我像下面这样定义一个类,却不能像上面那样实例一个对象?Ext.define( 'className', {
 field1 : defaultValue,
 field2 : defaultValue } );即便我在类的定义里加上constructor : .......... 也不行。
请问我要怎么定义类,才可以像示例那样实例对象?请懂的人说说,谢谢了!!

解决方案 »

  1.   

    不是啊,define是Ext里的一个函数。你定义类不是用Ext.define吗?
      

  2.   

    define必须继承一个基类Ext.define( 'className', {
     extend : 'Ext.window.Window',///这只是一个例子
     field1 : defaultValue,
     field2 : defaultValue } );
      

  3.   

    那我定义一个Student的类,从哪个基类继承出来比较好?Ext.Base?
      

  4.   

    实例化的时候 new  className();
      

  5.   

    我一般最多也就是继承window 和 panel 了
      

  6.   

    一般写类只是为了复用,如果用的地方不多就用你说的那种Ext.create('',{});写了
      

  7.   

    我从Ext.Base继承出来,还是不能达到我想的效果。
    Ext.define( 'ClassAA', {
    extend : 'Ext.Base',
    name : 'unknown'
    });

    var aa = Ext.create( 'ClassAA', {
    name : 'ZZZ'
    } );
    console.log( aa.name );还 是输出unknown
      

  8.   


    Ext.define('demoClass',{
      a: 'a',
      b: 'b',
      constructor: function(config){
        this.a = config.a;
        this.b = config.b;
      }
    });
    demo = Ext.create('demoClass',{a:1,b:2});
      

  9.   

    Ext.define 是定义一个类 类似
    function a(arg1,arg2){
      this.param1 = arg1 || 0;
      this.param2 = arg2 || 0;
    }
    a.prototype.funA = function(){};
    ....Ext.create('className' ,  {
     param1:1,
     param2:2,
     funA:function(){}
    }) 是创建一个类 只是其中的参数是类的路径与属性与方法