ホームページ  >  記事  >  ウェブフロントエンド  >  extjs DataReader、JsonReader、XmlReader_extjsの構築メソッド

extjs DataReader、JsonReader、XmlReader_extjsの構築メソッド

WBOY
WBOYオリジナル
2016-05-16 18:42:161064ブラウズ

extjs3.0 ヘルプ ドキュメント:
DataReader(Object meta, Array/Object RecordType)
新しい DataReader の作成
パラメータ:

meta: Object
メタデータ構成オプション (実装固有) )。
メタデータ構成オプション (...-...)
recordType : Array/Object
フィールド定義オブジェクトの配列
フィールドによって定義された任意のオブジェクト配列
Ext.data.Record.create に渡される、
Ext.data.Record.create に渡されるオブジェクト、
、または Ext.data によって作成された Record 構造体として Ext.data.Record.create に渡されます。 .Record.create.
戻り値:
void

内部キー JS コード:
Ext.data.DataReader = function(meta, RecordType){
this.meta = meta;
this.recordType = Ext.isArray(recordType) ?
Ext.data.Record.create(recordType) :
this.buildExtractors();
...わずかに...
rs.id = data[this.meta.idProperty];
... わずかに...
return (data && Ext.isObject(data) &&
!Ext. isEmpty(data[this.meta.idProperty])) true : false;

結論:
a.recordType は、内部コードと Ext.data.Record で構成されるフィールド構造の配列にすることができます。 。作成する(...)。
b.recordType は、Ext.data.Record.create(...) で追加された Field 配列にすることができます。
属性は c.meta: idProperty に配置できます。




extjs3.0 ヘルプ ドキュメント:
XmlReader( Object meta, Object recordType )
新しい XmlReader を作成します。
パラメーター:
meta:オブジェクト
メタデータ構成オプション
recordType : オブジェクト
Ext.data.Record.create に渡されるフィールド定義オブジェクトの配列、
Ext data.に渡されるフィールド定義オブジェクトの配列。 Record.create
または Ext.data.Record.create を使用して作成された Record コンストラクター オブジェクト
または Ext.data.Record.create を使用して作成された Record コンストラクター オブジェクト。
Return:
void

2 つの obj を渡す必要があることがわかります。

内部 JS コードを表示します
Ext.data.JsonReader = function( meta, RecordType) {
//メタがない場合は、メタの Obj を作成します。
meta = meta ||
//これらのメンバーがない場合は、meta に idProperty などを追加します。
Ext.applyIf(meta, {
idProperty: 'id',
successProperty: 'success',
totalProperty: 'total'
}); class
Ext.data.JsonReader.superclass.constructor.call(this, meta, RecordType || meta.fields);
...省略されました...
var sid = this .meta.idPath || this.meta.id;
var totalRecords = 0、成功 = true;
totalRecords = q.meta.totalRecords , root, 0);
}
if(this.meta.success){
var sv = q.selectValue(this.meta.success, root, true); = = false && sv !== 'false';
}
a.meta は次のプロパティを持つことができます: idProperty、successProperty、totalProperty、fields、idPath、id、totalRecords、success。
b.recordType は空でもかまいませんが、フィールドはメタに書き込む必要があります。
c. 親クラスのコンストラクターが呼び出されるため、他のすべては親クラスと同じです。


extjs3.0 ヘルプ ドキュメント:
JsonReader(Object meta, Array/Object RecordType)
新しい JsonReader を作成します
新しい JsonReader を作成します
パラメータ:
meta : オブジェクト
メタデータ構成オプション。
recordType : Array/Object
フィールド定義オブジェクトの配列
(Ext.data.Record.create に渡されるか、
) Ext.data.Record.create から作成されたレコード コンストラクター。
戻り値:
void

内部 JS コードの表示:
Ext.data.JsonReader = function(meta, RecordType){
meta = メタ ||
Ext.applyIf(meta, {
idProperty: 'id',
successProperty: 'success',
totalProperty: 'total' }); >Ext.data.JsonReader.superclass.constructor.call(this,meta,recordType ||meta.fields);
...省略...
if (Ext.isEmpty(o) [this.meta.root])) {
throw new Ext.data.JsonReader.Error('root-emtpy', this.meta.root);
}
else if (o[this. meta.root] === unknown) {
throw new Ext.data.JsonReader.Error('root-unknown-response', this.meta.root);

a.meta は次のプロパティを持つことができます: idProperty、successProperty、totalProperty、root、fields
b.recordType は空にすることができますが、フィールドはメタに書き込む必要があります。
c. 親クラスのコンストラクターが呼び出されるため、その他はすべて親クラスと同じです。

概要:...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。