我有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