extjs4学习日志(2)数据模型中的model
2012-05-26 15:08
393 查看
今天继续学习extjs4,今天主要学习extjs的数据模型结构主要包括model、proxy和store,分别代表模型、代理、数据集
1、 创建model
model的创建过程就相当于数据库中的设计table的过程和C#中的class的定义过程
两种方法:
a) Ext.define():自定义一个类并继承自Ext.data.Model类
b) Ext.regModel():直接定义一个类,返回的就是model类
2、 实例化model类
a) new关键字
获取model中的字段可以用对象.get(字段名)来获得。
b) Ext.create()
c) Ext.ModelManager.create()
4、 验证器validations
就是对model的对象的各个字段(属性)进行验证的机制
运行结果将会输入错误信息。
1、 创建model
model的创建过程就相当于数据库中的设计table的过程和C#中的class的定义过程
两种方法:
a) Ext.define():自定义一个类并继承自Ext.data.Model类
//方法1:使用Ext.define创建model类 Ext.define('person', { extend: 'Ext.data.Model', //继承自model类 fields: [ //相当于table中的字段,class中的属性 { name: 'name', type: 'auto' }, { name: 'age', type: 'int' }, { name: 'email', type: 'auto' } ] });
b) Ext.regModel():直接定义一个类,返回的就是model类
//方法2:使用Ext.regModel来创建model类,可以不写继承自model类,本身就返回一个model Ext.regModel('user', { fields: [ { name: 'name', type: 'auto' }, { name: 'age', type: 'int' }, { name: 'email', type: 'auto' } ] });
2、 实例化model类
a) new关键字
//方法1:new关键字 var p = new person({ name: '张三', age: 26, email: 'zs@163.com' }); Ext.Msg.alert('提示', '姓名:' + p.get('name') + ' 年龄:' + p.get('age') + ' 邮箱:' + p.get('email'));
获取model中的字段可以用对象.get(字段名)来获得。
b) Ext.create()
//方法2:Ext.create()(推荐) var p1= Ext.create('person', { name: '李四', age: 30, email: 'ls@163.com' }); alert('姓名:' + p1.get('name') + ' 年龄:' + p1.get('age') + ' 邮箱:' + p1.get('email'));
c) Ext.ModelManager.create()
//方法3:Ext.ModelManager.create()可以简写成Ext.Mgr.create() var p2 = Ext.ModelMgr.create({ name: '王五', age: 35, email: 'ww@163.com' }, 'person'); alert('姓名:' + p2.get('name') + ' 年龄:' + p2.get('age') + ' 邮箱:' + p2.get('email'));
4、 验证器validations
就是对model的对象的各个字段(属性)进行验证的机制
//扩展验证机制 Ext.apply(Ext.data.validations, { age: function (config, value) { var min = config.min; var max = config.max; if (value >= min && value <= max) { return true; } else { return false; } }, ageMessage: '年龄数据出现错误!' }); //定义名为person的model Ext.regModel('person', { fields: [ { name: 'name', type: 'auto' }, { name: 'age', type: 'int' }, { name: 'email', type: 'auto' } ], //验证器 validations: [ //验证类型:长度验证 验证字段:name 长度大于等于2小于等于6 {type: 'length', field: 'name', min: 2, max: 6 }, //验证年龄必须在0到100之间 { type: 'age', field: 'age', min: 0, max: 100 } ] }); var p = Ext.create('person', { name: '王', age: -9, email: 'ls@163.com' }); var errors = p.validate(); errors.each(function (msg) { alert('字段:' + msg.field + '\n发生错误:' + msg.message); })
运行结果将会输入错误信息。
相关文章推荐
- Extjs学习 数据模型Molde
- ExtJS数据模型Model和代理proxy
- Extjs学习笔记之九 数据模型(上)
- Entity Framework 学习笔记(二)之数据模型 Model 使用过程
- Extjs数据模型model的使用
- ExtJS4学习笔记九--数据模型的使用
- Sharepoint学习笔记—架构系列-- Sharepoint的数据模型(DataModel)、数据管理(Data Management)与查询(Query System)
- Core Data 学习: 数据模型(Data Model)
- ExtJS数据模型Model和代理proxy
- Extjs系列篇(3)—-model数据模型
- ExtJS4.x数据模型之Model
- ExtJS4学习笔记九--数据模型的使用
- Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)
- 引擎系列学习【一】Color Model(颜色模型)
- 数据分析与挖掘学习日志之数据的相关性分析(五)
- XPath学习笔记 XPath数据模型
- 黑马程序员-学习日志-操作基本数据类型的数据流
- shader学习之旅-3-从文件读取模型数据和着色器程序
- iOS学习- 10 定义数据模型及构造本地运行时数据 - Todo App
- Javascript MVC 学习笔记(一) 模型和数据