"위로"쿼리하는 방법이 있습니까? 나는 Component에 있고 control()이있는 부모 이벤트에 리스너를 등록하려고합니다. 이 쿼리는 내 메인보기의 부모를 가져옵니다.ExtJS4를 사용하는 부모를위한 ComponentQuery?
답변
ExtJS4에서는 Ext 요소의 'up()'을 사용할 수 있습니다. 당신이 당신의 구성 요소의 구조에 대한 몇 가지 세부 사항을 제공하는 경우
var parentEl = Ext.get('childID').up('div.parentClass');
이/요소 내가 맞아야 구체적인 예를 제공 할 수 있습니다 :
params 객체를 파라미터는 예컨대을 발견하고자하는 부모 요소의 문자열입니다.
편집 :가는 당신이 뭘하려는 건지에 대한 충분한 구성 요소
var myComponent = // however you've got it
var theParentEl = myComponent.getEl().up('div.parentClass');
감사합니다. 나는'up()'메서드에 대해 알고 있지만,이 기능이 구성 요소 쿼리 선택기로 필요합니다. –
구성 요소에서 getEl()을 사용하여 포함 요소를 가져온 다음 (설명 된대로 up 메서드 사용) 또는 Ext 컨테이너를 반환하는 Component.findParentByType (xtype)을 사용하는 경로로 이동할 수 있습니다. – dougajmcdonald
그래서 올라가는 것은 방법으로 가능합니까? "a
보통 up('PARENTCLASS')
에서 '최대'표시합니다. 내가 알고있는 것처럼
items: [
...
{ xtype: 'checkbox', listeners: {
change: function() { this.up('window').fireEvent('checkboxchanged'); }
}}
...
]
것은 특별히 하위 구성 요소의 컨트롤러 제어 기능에서 구성 요소의 부모에 의해 전달 된 이벤트에 듣고 싶은 : 다음 요소가에있는 양식에 대한 이벤트를 생성 그래서 모든 코드를 통해 할 것입니다 .
상위 컨트롤러 이벤트를 수신하기 위해 하위 컨트롤러의 제어 기능에 넣을 수있는 '부모 < 구성 요소'와 같은 쿼리 선택기가 없습니다.
일반적으로 부모보기를 하위 컨트롤러에 추가하면 이벤트를들을 수 있습니다. 하지만 당신이 다른 컨트롤러 또는 뭔가 위임하려고하기 때문에 당신이하지 않는 것으로 가정합니다.
부모 이벤트가 발생할 때마다 하위 구성 요소에서 이벤트를 실행할 수 있습니다. 부모 컨트롤러 내부에서이 같은 그것을 할 수 :
var child = parent.down('child');
child.fireEvent('myOwnEventName', arg1, arg2, arg3, etc);
그런 다음 당신은 당신이 그것을 원하는 로직을 실행하기 위해 자식 컨트롤러의 제어 기능에서 'myOwnEventName'에 대한 처리기를 추가합니다.
상위 컨트롤러에 컨트롤러가없는 경우 상위 컨트롤러 구성 요소를 하위 컨트롤러의보기로 추가하면됩니다.
Sencha 도움말에서 "후보 구성 요소의 구성원 표현식을 테스트 할 수 있습니다."표현식이 진실 값을 반환하면 후보 구성 요소가 "http://docs.sencha.com/ext-js/4-0/#!/api/Ext.ComponentQuery 도움말에 포함됩니다.
내가 내 컨트롤러에 다음과 같은 작업을 수행 할 수 실현 걸 렸어요 :this.control({
'window{down("testcomp")}[down]': { beforedestroy: this.doNotCloseIfUnsaved }
});
, 우리가 어떤 임의의 코드를 호출 할 수있는 {} 작업을 사용. 효율성의 관점에서 볼 때 매우 나쁘다. 그러나 그 일은 끝났다. 오른쪽에서 왼쪽으로 구성 요소 쿼리를 실행하기 때문에 [down]을 추가해야했기 때문에 모든 구성 요소에서 실행하기 전에 down()이 존재하는지 확인해야합니다. 따라서, 어떤 구성 요소를 보유하고있는 창에 이벤트를 첨부 할 수있었습니다.
물론 아래 위치가 아닌 직접적인 자식인지 확인하려면 down() 대신 child()와 같은 다른 함수를 사용할 수도 있습니다.
홀리 몰리 - 당신이 그걸 할 수 있는지 전혀 몰랐습니다. 당신이 나에게 묻는다면 그 조금은 읽을 수 없다. – dbrin
- 1. jQuery에서 ExtJS4를 사용하는 방법
- 2. 하위 요소에 대한 ComponentQuery 선택자
- 3. 부모를위한 SSIS - 대리 대리모 키
- 4. Extjs4를 사용하여 JSON에 데이터를 쓸 수 있습니까?
- 5. 부모를위한 첫 번째 생성 된 자식 선택
- 6. SQL 쿼리에서 부모를위한 범주 테이블을 조인하는 방법?
- 7. ExtJS4를 사용하여 텍스트 필드에서 디스플레이 필드로 전환
- 8. 최고의 SQL 쿼리는 모든 부모를위한 존재하는 공통의 아이를 얻을 수
- 9. 녹아웃 - 동시에 자녀 및 부모를위한 계산 된 속성을 설정하는 방법?
- 10. ExtJS4를 사용하면 그리드 패널의 확인란을 쉽게 처리 할 수 있습니까?
- 11. EXTJS4를 사용하여 PHP에 멀티 셀 콤보 컨텐츠를 게시하는 방법
- 12. 부분 문자열에서 열 값을 사용하는 방법
- 13. 카운트를 사용하는 SQL 하위 쿼리를 사용하는 방법
- 14. linq 지원을 사용하는 OData를 사용하는 클라이언트 #
- 15. dijit.Calendar를 팝업으로 사용하는 대신 직접 사용하는 방법
- 16. UNION을 사용하는 SQL - JOIN ?? JOIN을 사용하는 UNION?
- 17. SQL ISNULL을 사용하는 동안 IN을 사용하는 방법
- 18. cas를 사용하는 스프링에서 netsuite 통합을 사용하는 sso
- 19. 사용하는 변수는
- 20. 사용하는 경우?
- 21. GDI + 개체를 다시 사용하는 것이 좋지 않습니까? (또는 : 두통없이 많은 중첩 된 사용하는 블록을 사용하는 방법?)
- 22. NSObject에서 비공식 프로토콜을 사용하는 것과 다른 옵션을 사용하는 프로토콜을 사용하는 것의 차이점은 무엇입니까?
- 23. 관계를 추가하는 방법 (nhibernate)
- 24. + 및 - 자바 스크립트를 사용하는 정규 표현식을 사용하는 방법?
- 25. 스트림 varbinary ASP 2005를 사용하는 브라우저에서 ASP를 사용하는 브라우저
- 26. 리본을 사용하는 MFC 응용 프로그램에서 F10을 바로 가기로 사용하는 방법
- 27. NSbundle for for 루프를 사용하는 동안 Instrument가 NSbundle을 사용하는 중임
- 28. 자바를 사용하는 HTTP POST 요청을 사용하는 젤리 스크립트
- 29. 런타임시 WCF를 사용하는 NAT traversal을 사용하는 피어 투 피어
- 30. FactoryGirl을 초기화 메소드에서 해시를 사용하는 모델과 함께 사용하는 방법은 무엇입니까?
모든 질문에 대답의 80 %가 포함되어 있습니다. :) ...up() – dbrin