ExtJS4의 새로운 MVC 패턴에 따라 동적 컨트롤러를 만들고 작은 문제가 발생했습니다. this.control 메서드를 사용하여 컨트롤러를 내 뷰에 연결했습니다. 컨트롤러를 두 번째로 만들 때 (내 탐색에서 앞뒤로 움직이는), 나는 두 번 연결했습니다. 내 질문은 : 컨트롤러를 파괴하거나 this.control 명령을 통해 설정 한 모든 리스너를 제거하는 가장 좋은 방법은 무엇입니까? init 함수에ExtJS MVC : 동적 컨트롤러에서 핸들러를 제거하는 방법
var step1Controller = Ext.create("MyApp.controller.Step1Controller", {
application : this.application
});
step1Controller.init();
에서 :이 같은 새 컨트롤러를 만들
: 같은처럼 사전에
덕분에 크리스
나의 새로운 컨트롤러의 코드가 보인다 내 컨트롤러의 컨트롤러를 다음과 같이 뷰에 연결했습니다.
init : function() {
this.addEvents(['step1completed','basecontructionaborted']);
this.setupScreenLayout();
this.getTmpConfiguredControlModelsStore().removeAll();
this.application.fireEvent("addBreadCrumb", "Inbetriebnahme");
this.application.fireEvent("addBreadCrumb", "Schritt 1/3");
this.control({
'#addmodelbutton' : {
click : this.onAddBtnClick
},
'#modelviewer' : {
modelselected : this.onPanelSelect
},
'#navigationcontainer #movemodelleftbutton' : {
click : this.onMoveModelLeftClick
},
'#navigationcontainer #continuestep2' : {
click : this.onContinueStep2Click
},
'#navigationcontainer #abortbutton' : {
click : this.onAbortButtonClick
}
});
console.log('[BaseConstruction | init] completed');
}
Ext.app.EventBus – atian25
보기를 파괴하는 경우 EventBus는 자동으로 리스너를 제거해야합니다. – VoidMain
여러분,이 이벤트를 듣지 않고 EventBus를 사용해야한다는 것을 알려 줘서 고맙습니다. – Chris