我有一個自定義的動作腳本對象被定義爲可綁定的一些公共屬性。flex似乎沒有綁定自定義動作對象
[Bindable]
public class MyObject extends Object {
public var mobileNumber:String;
...
在我的MXML我有:
<mx:Script><![CDATA[
import mx.binding.utils.BindingUtils;
import org.test.MyObject;
[Bindable]
private var obj: MyObject = new MyObject();
]]></mx:Script>
<mx:Label text="Mobile Number" id="mobileNumberLabel"/>
<mx:TextInput id="mobileNumberText" text="{obj.mobileNumber}" />
<mx:LinkButton label="Load" id="loadButton" enabled="true" click="obj = obj.load();"/>
<mx:LinkButton label="Save" id="saveButton" enabled="true" click="obj.write();"/>
我的問題是,當我在手機號碼欄中輸入一個新值,然後單擊保存按鈕,輸入的值不會退出...即:
public function write():void {
var bytes:ByteArray = new ByteArray();
trace("write - mobile:" + this.mobileNumber);
bytes.writeObject(this);
EncryptedLocalStore.setItem(KEY, bytes);
}
我也嘗試添加在:
private function init():void {
BindingUtils.bindProperty(mobileNumberText, "text", obj, "mobileNumber");
}
但沒有運氣。
我可能在這裏錯過了一些簡單的東西,但不知道它是什麼。希望你能幫忙,謝謝。
Kieren H - 這是否解決您的問題?請標記爲已回答! – verveguy 2009-05-27 03:37:03
很好。 – 2009-06-06 18:11:07
你是一個完整的傳奇人物 - 我一直有這麼多的綁定問題,你的答案在這裏解釋了很多正在發生的事情,以及爲什麼事情似乎隨機不會有用。 GW – dalyons 2009-12-17 22:39:07