2013-05-18 4 views
0

정적 함수에 바인딩하려고하는데 바인딩 이벤트 이름을 지정한 다음 다른 정적 함수에서 이벤트를 발생시킵니다.Bindable (event = "...") public static function

[Bindable(event="dataUpdated")] 
public static function string(path:String) :String 
{ 
    ... 
} 

private static function updateData() :void 
{ 
    //doSomthing; 
    staticEventDispatcher.dispatchEvent(new Event('dataUpdated')); 
} 

private static var staticEventDispatcher:EventDispatcher = new EventDispatcher(); 

이벤트가 시작되면 내보기가 업데이트되지 않습니다. 더 좋은 방법이 있습니까?

클래스의 인스턴스에서 이벤트를 전달하려고 시도했지만 최후의 수단으로이 staticEventDispatcher을 추가했지만 작동하지 않았습니다.


이의 점은 응용 프로그램 내 언어로 번역을 위해, MyClass.string('stringPath') 번역 된 구성 요소의 텍스트를 반환합니다. 사용자가 언어를 변경하면 앱 텍스트를 업데이트해야합니다.

답변

2

바인딩은 정적 속성 및 메서드에서 작동하지 않습니다. 자세한 내용은이 질문을 참조하십시오 (Binding to static property).

MyClass.instance.string('stringPath') 

MyClass을 : 지금 고정

public static const instance:MyClass = new MyClass(); 
+0

감사합니다, 귀하의 경우에는

는 자원 관리자의 싱글 톤 패턴을 사용하고 stringupdateData에서 static를 제거하는 것이 좋습니다. – Drahcir