2013-08-26 5 views
0

많은 뷰, 모델, 상점이있는 대규모 응용 프로그램이 있습니다. 지금까지는 함수에서 실행되는 모든 기능을 관리 할 수 ​​있었고 뷰 자체에서 발생하는 이벤트를 처리 할 수있었습니다. 전 컨트롤러를 사용하여 전체 애플리케이션을 처리하지 못했습니다.깊게 중첩 된 구성 요소 Extjs에 대한 컨트롤러 작업 방법?

컨트롤러를 사용하여 앱의 모든 구성 요소를 처리하는 방법을 알려주세요. 그리고 동적으로 생성되는 일부 구성 요소가 있습니다. 요청에 따라 이러한 구성 요소를 리스너에 추가하는 방법

제발 컨트롤러에 대해 많이 말해주세요! 사전 : 이벤트 버스를 통해 이벤트를 처리 할 수 ​​

답변

2

컨트롤러를 사용 이벤트 선택자에

감사합니다, 그래서 이벤트 처리에 구성 요소 구조에 내장되어 있습니다.

Ext.define('MyApp.controller.Foo', { 

    init: function() { 
     this.control({ 
      'some_selector': { 
       someevent: this.onSomething 
      } 
     }); 
    }, 

    onSomething: function() {} 

}); 

선택기는 Ext.ComponentQuery 선택, 그래서 그 선택 일치하는 구성 요소가 특정 이벤트가 발생하면, 그것은 당신의 메소드를 호출 : 같은

컨트롤러는 일반적으로 보인다. 문서의 선택기에 대한 많은 정보가 있습니다.

+0

감사합니다. 특정 구성 요소에 대한 특정 이벤트를 청취 할 컨트롤러를 만들었습니다. 그리고 다른 구성 요소에서 위와 같이 작동하는 또 다른 컨트롤러를 만들었습니다. 그러나 두 번째 작품은 효과가 없었습니다. 내 질문은이다 우리는 응용 프로그램 당 하나의 컨트롤러 만 가질 수 있습니까? 각 개별 모듈에 컨트롤러가 필요합니다. 가능하다고 말해줘? –

+0

컨트롤러는 원하는 수만큼 가질 수 있습니다. 앱의 컨트롤러 구성에 추가해야합니다. –