2012-10-17 3 views
1

다른 플러그인의 다른 위젯이 호스트에로드되고 서로를 모르는 애플리케이션에서 작업하고 있습니다. 그래서 EDP를 사용하고 하나의 위젯에서 이벤트 (예 : UserDeleted)를 올리고 다른 위젯에서 해당 이벤트 (유명 게시자/구독자 또는 더 구체적인 관찰자 패턴)를 구독합니다.Ext JS의 이벤트 구동 프로그래밍

jQuery에서는이 작업을 수행하기 위해 trigger() 및 bind() 메서드를 사용합니다. 그러나 Ext JS에서 이와 동등한 것을 찾을 수는 없습니다. 내가 놓친 게 있니? 아니면 Ext JS에서 느슨하게 결합 된 UI 위젯을 만들 수있는 다른 패턴이 있습니까?

답변

2

위젯이 서로를 알지 못하는 경우 중재자 패턴을 사용해야합니다.

그리고 그것은 Ext.util.Observable입니다.

2

이후 ExtJS 4.x Sencha는 MVC 응용 프로그램의 깨끗한 체계적인 패턴으로 이벤트를 수신하는 컨트롤러 개념을 도입했습니다. 이 구성표에서 구성 요소는 이벤트 (내장 또는 사용자 정의)를 실행하고 컨트롤러는 해당 이벤트에 응답합니다.

맞춤 이벤트를 발생 시키려면 다른 모든 ExtJS 클래스가 상속 한 Observable 클래스에서 fireEvent 메소드를 사용할 수 있습니다.

+0

구현 예를 보여줄 수 있습니까? 문서는 정말 짜증납니다. –

+1

설명서가 제대로 작동하지 않습니다. 아주 좋습니다. [안내서] (http://docs.sencha.com/ext-js/4-1/#!/guide)를 읽으십시오. Ext에서 MVC 응용 프로그램을 설정하는 데 필요한 모든 도움을 얻을 수 있습니다. –

관련 문제