Ext.data.Model数据实体模型是真是世界中实体对象在应用系统中的反映,它包含字段集和处理数据的函数,它的前身是ExtJS3.x以及之前版本中的Ext.data.Record类,与Record类不同的是Model类在功能上进行了大幅度的增强,已经成为了ExtJS数据包的核心。
Model数据实体模型类的4个重要组成部分,分别是:
- Fields:字段定义。
- Proxy:数据代理。
- Associations:模型关联。
- Validations:数据校验。
1、创建实体
我们学习如何创建一个简单的模型对象,并使用它。
运行效果如下图所示:
从图中可以看出,以上代码成功注册了User模型并创建了User的一个实体对象,通过调用模型的get方法获取了name字段值。这里需要说明的是Ext.data.Field字段类,通过字段类可以定义字段名称、类型、隐射等属性。
2、Ext.data.validations数据验证
上一节讲述了创建数据实体模型的简单方法,接下来介绍如何检查数据的有效性,在模型类Ext.data.Model中已经内置了数据校验功能,这些校验函数定义在Ext.data.validations类中。
3、数据代理(读取与保存)
上一节中学习了模型对数据验证的支持,现在开始进一步学习数据代理,在ExtJS4.0之前的版本中数据代理是数据集Store的一部分,要读写数据必须通过Store来进行,而在新版本中数据代理可以直接配置在数据模型中,数据的读写操作不再依赖于Store就可以执行,这大大提高了程序的灵活性,并且也方便了在具有相同模型对象的Store之间共享代理,而不需要在每一个Store进行重复创建。
上面的代码中创建了数据实体模型User,并为其指定了Ajax代理和获取数据的url地址userServer.php,服务端以JSON格式返回数据,返回数据的字段名称需要与模型中定义的字段名称相同,由于是通过Ajax方式进行数据的读取,因此需要把数据读取后的操作写在回调函数中。