2013-11-27 3 views

답변

1

나는 evans 대답을 추천합니다!

그러나 x32 문자열을 문자열로 반환하는 getXTypes() 메서드를 사용하면 구성 요소 수준에서 다른 방법으로도이를 수행 할 수 있습니다.

검색된 위젯 (구성 요소)이 문자열의 일부인지 조회해야합니다. 때문에 나는 작동하는 것 같다 다른 방법을 통해 발견 다른 문제에

var splitted = ref.getXTypes().split('/'), 
    len = splitted.length, 
    i = 0; 

for(;i < len; i++) { 
    if(lookupType == splitted[i]) 
     // do something 
} 

편집

.

클래스 계층에서 위쪽으로 이동하려면 self, superclass$className 속성을 사용할 수 있습니다.

Ext.getCmp('customform-1746').self.superclass.$className // echo Ext.form.Panel 
Ext.getCmp('customform-1746').self.superclass.self.superclass.$className // echo Ext.panel.Panel 

당신은 단순히 확인 재귀 적 방법을 구축하고 true 또는 false 중 하나를 반환 할 수 있습니다

는 여기에 예입니다. 하지만 여기서도 instanceof 연산자가 훨씬 빨라졌습니다!

2

JS는 instanceof 연산자가 있습니다

Ext.define('A', { 
}); 

Ext.define('B', { 
    extend: 'A' 
}); 

Ext.define('C', { 
    extend: 'B' 
}); 

Ext.define('D', { 
}); 

console.log(new B() instanceof A); 
console.log(new C() instanceof A); 
console.log(new D() instanceof A); 
관련 문제