注:Record和Store之间存在交叉引用,不能直接序列化Record
//Record的构造函数
Ext.data.Record = function(data, id){
//这里没有用Ext.id()方法,Ext..id()方法用于给UI层提供唯一id
this.id = (id || id === 0) ? id : Ext.data.Record.id(this);
this.data = data || {};
};
//静态方法,返回Record子类的构造函数
Ext.data.Record.create = function(o){
var f = Ext.extend(Ext.data.Record, {});
var p = f.prototype;
//添加一个xt.util.MixedCollection类型的实例属性fields,
p.fields = new Ext.util.MixedCollection(false, function(field){
return field.name;
});
for(var i = 0, len = o.length; i < len; i++){
p.fields.add(new Ext.data.Field(o[i]));
}
f.getField = function(name){
return p.fiel