+ -
当前位置:首页 → 问答吧 → 问一个EXTJS实例化一个类的语法问题。

问一个EXTJS实例化一个类的语法问题。

时间:2011-10-17

来源:互联网

我看官网给你的例子都是这样:
Ext.create( 'className', {
  field1 : something,
  field2 : something} );

为什么我像下面这样定义一个类,却不能像上面那样实例一个对象?

Ext.define( 'className', {
 field1 : defaultValue,
 field2 : defaultValue } );

即便我在类的定义里加上constructor : .......... 也不行。
请问我要怎么定义类,才可以像示例那样实例对象?

请懂的人说说,谢谢了!!

作者: zyliuxing   发布时间: 2011-10-17

楼主先把其他帖子结了吧。。

作者: liangws   发布时间: 2011-10-17

已经结了。。。。

作者: zyliuxing   发布时间: 2011-10-17

楼上清楚的话,帮忙回答下啊。

作者: zyliuxing   发布时间: 2011-10-17

define是你自己定义的函数么

作者: liangws   发布时间: 2011-10-17

引用 4 楼 liangws 的回复:

define是你自己定义的函数么

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

作者: zyliuxing   发布时间: 2011-10-17

define必须继承一个基类
JScript code

Ext.define( 'className', {
 [color=#FF0000]extend : 'Ext.window.Window',[/color]///这只是一个例子
 field1 : defaultValue,
 field2 : defaultValue } );

作者: c3716317   发布时间: 2011-10-17

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

作者: zyliuxing   发布时间: 2011-10-17

实例化的时候 new className();

作者: c3716317   发布时间: 2011-10-17

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

作者: c3716317   发布时间: 2011-10-17

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

作者: c3716317   发布时间: 2011-10-17

引用 9 楼 c3716317 的回复:

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

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

var aa = Ext.create( 'ClassAA', {
name : 'ZZZ'
} );
console.log( aa.name );

还 是输出unknown

作者: zyliuxing   发布时间: 2011-10-17

引用 10 楼 c3716317 的回复:

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

你是说用create定义一个类?

作者: zyliuxing   发布时间: 2011-10-17