EXT에서 xtype의 의미 분석
내가 논단에서 관찰한 바에 의하면 xtype를 사용할 때 의혹이 비교적 많을 것이다.심지어 어떤 사람들은 xtype를 아예 무시하거나 그것이 무엇인지 잘 모른다.그래서 나는 이 xtype의 개념을 논술하기로 결정했다.
정의
xtype은 클래스 (Class) 를 대표하는 표지 이름입니다.
예를 들어, 너는 이런 종류가 있는데, 이름은 Ext.ux이다.MyGrid.정상적인 상황에서 이 이름으로 이 클래스를 실례화해야 합니다.
클래스 이름 외에 클래스의 xtype를 이렇게 등록할 수 있습니다.
Ext.reg('mygrid', Ext.ux.MyGrid);
그 중에서 xtype은 mygrid이고 클래스의 일반적인 형식은 Ext.ux입니다.MyGrid.위의 문장은 새로운 xtype를 등록했습니다. 다시 말하면 xtype mygrid와 클래스 Ext.ux입니다.MyGrid는 함께 연결되어 있습니다.
도대체 무슨 좋은 점이 있습니까?
생각해 보세요. 당신의 수중에는 사용자의 작업에 응답하기 위해 프로그램에 대량의 대상 (윈도우즈,forms,grids) 이 포함되어 있습니다.사용자가 아이콘이나 단추를 누르면 창이 새로 만들어지고 창에grid가 추가되어 화면에 렌더링됩니다.
응, 우리 Ext2로 돌아가자.x이전의 인코딩, 그때 우리는 모든 대상을 실례화했다. 페이지가 처음 불러온 후에 진행된 것이다.클라이언트 메모리에서 Ext.ux.사용자의 클릭을 기다리는 MyGrid 클래스의 대상이 이미 존재합니다.마찬가지로 이grid입니다. 백 개에 달하는 실례를 가정하면...얼마나 귀중한 자원을 낭비하는가!많은grid는 사실 사용자가 그것을 눌러서 나타나게 하는 것은 아니다.
시간 지연 실례화
만약 xtype을 사용한다면, 메모리에 있는 것은 단지 하나의 설정 항목 대상일 뿐입니다. 예를 들어:
{xtype:'mygrid", border:false, width:600, height:400, ...}
소모는 복잡한 실례가 없는 대상이 크다.
응, 사용자가 버튼이나 아이콘을 누르면 어떻게 될까?Ext는 렌더링할 준비된grid를 식별하지만 즉각 실례화하지 않습니다. Ext는 Component Mgr의 도움으로 다음과 같은 것을 알게 되었습니다. "xtype mygrid의 대상을 실례화하려면 실제적으로 클래스 Ext.ux.MyGrid의 대상임을 알게 될 것입니다."다음 코드와 같습니다.
create : function(config, defaultType){
return new types[config.xtype || defaultType](config);
}
등가:
Java 코드
return new Ext.ux.MyGrid(config);
그리고grid를 실례화하여 렌더링하고 표시합니다.명심: 필요할 때만 실례화됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.