我正在尝试绑定到静态函数,我指定一个绑定事件名称,然后从另一个静态函数触发该事件。
[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')
将返回已翻译的组件文本。我需要在用户更改语言时更新应用文本。
答案 0 :(得分:2)
绑定不适用于静态属性和方法(有关详细信息,请参阅此问题Binding to static property)。
在您的情况下,最好将单例模式用于资源管理器,并从static
和string
中移除updateData
:
MyClass.instance.string('stringPath')
和MyClass
:
public static const instance:MyClass = new MyClass();