【发布时间】:2009-05-25 14:57:21
【问题描述】:
我有一个自定义的 actionscript 对象,定义为可绑定多个公共属性。
[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");
}
但也没有运气。
我可能在这里遗漏了一些简单的东西,但不确定它是什么。希望你能帮忙,谢谢。
【问题讨论】:
标签: apache-flex actionscript-3 binding