Ext.apply 사용자 정의 Ext 클래스 사용
2994 단어 htmlextF#performance
Ext.applyIf(object,config);
Ext.apply(object,config)
두 함수는 모두config의 속성을object에 복사하지만, 만약object에 속성이 있다면, Ext.applyIf(object,config);는 원래 속성을 덮어쓰지 않습니다.
주의: 전송된 매개 변수가undefined라면,config의 속성은config에 복사되지 않습니다.
Ext 구성 요소 클래스를 정의합니다. 보통 기본 속성을 정의합니다. 새로운 속성이 원래 속성을 덮어씁니다.
이전에 우리는 Ext.apply(this, config)를 채택했다.그러나 Ext가 전송된 매개 변수로 하위 클래스를 구성한다는 것은 보장할 수 없습니다.
따라서 Ext 클래스를 정의할 때 Ext.apply를 사용하여 전송된 파라미터를 기존 기본 파라미터에 덮어쓸 수 있습니다.
Ext.namespace('com.resoft.performance');
/**
*
*
* @param {}
* config
*/
com.resoft.performance.ChartWindow = function(config) {
com.resoft.performance.ChartWindow.superclass.constructor.call(this, Ext
.applyIf(config, {
maximizable : true,
width : 200,
height : 100,
modal : true,
collapsible : true,
renderTo : Ext.getBody(),
layout : 'border',
items : {
region : 'center',
iconCls : 'panel-grid-icon',
title : ' ',
autoScroll : true,
margins : '0 5 0 5',
layout : 'fit',
items : new Ext.TabPanel({
region : 'center',
margins : '3 3 3 0',
activeTab : 0,
defaults : {
autoScroll : true
},
items : [{
title : 'Bogus Tab',
html : 'ffff'
}, {
title : 'Another Tab',
html : 'ffff'
}, {
title : 'Closable Tab',
html : 'efeafegnwrth',
closable : true
}]
})
}
}));
}
Ext.extend(com.resoft.performance.ChartWindow, Ext.Window, {
width : 600,
height : 400,
productType : 'gg',
chartType : 'f'
})
그러나 코드 구조를 호출할 때 매개 변수가 들어오지 않으면 구조할 때의 매개 변수는 비어 있습니다. 즉, Ext.apply(object,config)입니다. 만약object가undefined라면 되돌아오는 것도 undefined입니다.다음 코드는 어떤 item도 표시하지 않습니다.
Ext.onReady(function() {
var s = new com.resoft.performance.ChartWindow();
s.show();
});
그래서 다음 코드로 바꿀 수 있습니다.
Ext.apply( {.....},config)
이렇게 하면 기본 속성은config에 강제로 덮어쓰고, config가 비어 있으면 기본 속성에 따라 구성됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.