>  기사  >  웹 프론트엔드  >  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 생성자로 전달됩니다. .Record.create.
반환값:
void

내부 키 js 코드:
Ext.data.DataReader = function(meta, RecordType){
this.meta = Meta;
this.recordType = Ext.isArray(recordType) ?
Ext.data.Record.create(recordType) : 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(...)로 추가된 필드 배열일 수 있습니다.
속성은 c.meta: idProperty에 배치될 수 있습니다.




extjs3.0 도움말 문서:
XmlReader( Object Meta, Object RecordType )
새 XmlReader를 만듭니다.
매개변수:
meta: Object
메타데이터 구성 옵션
recordType : Object
Ext.data.Record.create에 전달된 필드 정의 객체의 배열,
Ext 데이터에 전달된 필드 정의 객체의 배열입니다. Record.create
또는 Ext.data.Record.create를 사용하여 생성된 Record 생성자
또는 Ext.data.Record.create를 사용하여 생성된 Record 생성자 개체입니다.
반환:
void

두 개의 obj를 전달해야 함을 알 수 있습니다.

내부 js 코드 보기
Ext.data.JsonReader = function( Meta, RecordType) {
//메타가 없으면 메타용 Obj를 생성합니다.
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
if(this.meta.totalRecords){
totalRecords = q.selectNumber(this.meta.totalRecords) , 루트, 0);
}
if(this.meta.success){
var sv = q.selectValue(this.meta.success, root, true)
success = sv ! = = 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 : Object
메타데이터 구성 옵션입니다.
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, 메타, 레코드 유형 || 메타.필드)
}
...생략됨...
if (Ext.isEmpty(o) [this.meta.root])) {
throw new Ext.data.JsonReader.Error('root-emtpy', this.meta.root)
}
else if (o[this. Meta.root] === 정의되지 않음) {
throw new Ext.data.JsonReader.Error('root-undefine-response', this.meta.root)
}

할 수 있습니다. a.meta는 다음 속성을 가질 수 있습니다: idProperty, SuccessProperty, totalProperty, root, fields
b.recordType은 비어 있을 수 있지만 필드는 메타로 작성되어야 합니다.
c. 상위 클래스 생성자가 호출되므로 다른 모든 것은 상위 클래스와 동일합니다.

요약:...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.