问题虽然简单,却一直困扰着我,先声明我是ext初学者。
我有一点搞不明白,Ext的布局可以说是很重要,因为会经常用到,在大量的布局代码中我发现,如:
var form = new Ext.form.FormPanel({
title: "复杂Form布局示例",
.....
items: [{
layout:'column',
items:[{
....
}
}]
});
就好像上面一段代码,在items里面的那一大堆的{}到底是什么来的,是类的话是什么类,就一个括号{}括着一大堆的layout、xtype等属性,想去查一下相关属性都不知道如何去查。也就是我想知道layout等属性是属于Ext目录下的那个类,是FormLayout呢?还是Panel呢?或者是Window?
1.使用xtype来声明类的方式 类似于 Hibernate的中延迟加载Lazy 只有真正用到这个对象的时候才会初始化 在Extjs的Demo中会常常看到这种写法 可以推荐!
2.items中的确实是对象 你有两种方式写items中对象
--- {xtype:xxx,xxx:xxx}
--- new Ext.xxx({})
具体里面可以写那些对象 参考API 就FormPanel来说 items可以写 Ext.Component中包含的任意对象 选择性很大
PS:学习ExtJS 先别研究所以然 先把Demo完全熟悉 不然你会迷失!
items是要添加到容器中的各种Ext.Component,像Ext.Container,Ext.Panel这样的容器对象下都有layout属性
{}起来的就是 对象!
xtype 次属性就是用来 声明类的另一种方法
下面的例子是等价的
var cmp = new Ext.form.DateField({....});
{
xtype:'datefield',
...
...
}