我有Class1
一个名为age
只读绑定属性:做一个包裹属性可绑定
public class Class1 {
private var _age:int;
[Bindable(event="ageChanged"]
public function get age():int {
return this._age;
}
public function something():void {
_age++;
dispatchEvent(new Event("ageChanged"));
}
}
我也有Class2
其中包含的Class1
一个私有的实例。而且我想让从Class1
可用,仍然可以绑定。
public class Class2 {
private var c1:Class1 = new Class1();
[Bindable????]
public function get age():int {
}
}
当然[Bindable]
标记没有意义。但我怎样才能达到同样的效果?
我相信我可以从Class2
派遣某种ageChanged
事件高达Class1
,然后在Class1
派遣另一个地方ageChanged
事件的事件处理程序,而我绑定Class2
的age
财产。
但这听起来不必要的复杂。没有更简单的方法吗? :)
谢谢!
啊!谢谢@J_A_X!这非常接近我寻找的魔法。这样内部类不需要通过事件与外部类进行明确的通信。谢谢!实施并正常工作。实际上这个讨论非常有用,它使我更加意识到BindingUtils,因为我在MXML中完成所有绑定,所以我倾向于忘记它。 – nununo 2011-05-20 17:35:04
使内部类公开是不可能的,因为外部类是处理认证的类。这将是一个安全漏洞:) – nununo 2011-05-20 17:35:53