日期:2014-05-16  浏览次数:20402 次

Extjs4 model的创建,实例化,自定义方法及取值
 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();
	});
});