我想绑定一个变量,如果有变化,它会自动更新标签。
var disp:String = "00:00:00";
var lb:Label = new Label(); //Add Label to an "ContentGroup" container.
lb.text = totalTime;
addElement(lb);
disp="00:00:01"; //New timing
BindingUtils.bindProperty(totalTime, "text", disp, "text");
我该怎么做?
答案 0 :(得分:1)
首先,我想澄清你的问题。您希望将标签lb
与disp
绑定,然后每当disp
更改,lb.text
更改时,是吗?
为什么不使用MXML(与Binding机制完全匹配)?
如果你真的想使用Actionscript,有一点需要你注意。首先,“host”属性必须是可绑定的(在顶部添加[Bindable]
标记)。接下来,BindingUtils.bindProperty
应该直接将两个值相互绑定。在这种情况下,更改为以下代码将起作用:
[Bindable] public var disp: String = "00:00:00";
private function initBinding(): void {
var lb: Label = new Label();
addElement( lb );
BindingUtils.bindProperty( lb, "text", this, "disp" );
}
顺便说一下,如果可能的话,我总是避免使用Binding。在简单的情况下手动更新属性将保存文件大小和性能。