EXTJS4自学手册——EXT数据结构组件(创建一个Model)
一、Model类说明:
可以将model看成表结构,定义model就是定义表结构
例子:
<script type="text/javascript">
Ext.onReady(function () {
//定义一个类MyInformation,继承自Ext.data.Model
Ext.define('MyInformation', {
extend: 'Ext.data.Model',
//定义类拥有的字段
fields: [
//字段名:name,类型:auto(默认)
{name: 'name' },
//字段名:age,类型:int
{name: 'age', type: 'int' },
//字段名:birthday,类型:date,指定日期格式为:'日/月/年'
{name: 'birthday', type: 'date'},
//字段名:isStudent,类型:boolean,指定字段默认值为false
{name: 'isStudent', type: 'boolean', defaultValue: false },
//字段名:weight,类型:float
{name: 'weight', type: 'float' },
//字段名:weightKG,类型:float,在在获取到数据的时候,会对数据进行转换,将weight字段的值除以2,赋值给当前字段
{name: 'weightKG', type: 'float', convert: function (value, record) {
return record.get('weight') * 0.5
}
}
]
});
});
</script>
二、创建一条数据:
例子:
<script type="text/javascript">
Ext.onReady(function () {
//创建一条数据,数据结构为MyInformation
var me = Ext.ModelMgr.create({
name: 'animal', //名称
age: '30', //年龄
birthday: '2012/4/4', //出生日期
weight: 150//体重
}, 'MyInformation'); //数据结构
Ext.Msg.alert("我的信息",
"我的姓名:" + me.get('name') +
";我的年龄:" + me.get("age") +
";我的生日:" + me.get("birthday") +
";是否是学生:" + me.get("isStudent") +//默认值false
";我的体重(斤):" + me.get("weight") +
";我的体重(公斤):" + me.get("weightKG"));//我的体重(斤)的值乘以0.5
});
</script>
执行结果:
三、为model对象添加自定义方法:
例子:
<script type="text/javascript">
Ext.onReady(function () {
Ext.onReady(function () {
//定义一个类MyInformation,继承自Ext.data.Model
Ext.define('MyInformation', {
extend: 'Ext.data.Model',
//定义类拥有的字段
fields: [
//字段名:name,类型:auto(默认)
{name: 'name' },
//字段名:age,类型:int
{name: 'age', type: 'int' },
//字段名:birthday,类型:date,指定日期格式为:'日/月/年'
{name: 'birthday', type: 'date' },
//字段名:isStudent,类型:boolean,指定字段默认值为false
{name: 'isStudent', type: 'boolean', defaultValue: false },
//字段名:weight,类型:float
{name: 'weight', type: 'float' },
//字段名:weightKG,类型:float,在在获取到数据的时候,会对数据进行转换,将weight字段的值除以2,赋值给当前字段
{name: 'weightKG', type: 'float', convert: function (value, record) {
return record.get('weight') * 0.5
}
}
],
//自定义方法,展示信息
getInformation: function () {
var info = "我的姓名:" + this.get('name') +
";我的年龄:" + this.get("age") +
";我的生日:" + this.get("birthday") +
";是否是学生:" + this.get("isStudent") +
";我的体重(斤):" + this.get("weight") +
";我的体重(公斤):" + this.get("weightKG");
Ext.Msg.alert("我的信息", info);
}
});
//创建一条数据,数据结构为MyInformation
var me = Ext.ModelMgr.create({
name: 'animal', //名称
age: '30', //年龄
birthday: '2012/4/4', //出生日期
weight: 150//体重
}, 'MyInformation'); //数据结构
//执行自定义方法
me.getInformation();
});
});
</script>
执行结果: