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>

执行结果:



posted @ 2012-04-02 22:22  争世不悔  阅读(3328)  评论(0编辑  收藏  举报