在标签上绑定更新

时间:2011-11-09 02:37:03

标签: flash flex actionscript

我想绑定一个变量,如果有变化,它会自动更新标签。

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");

我该怎么做?

1 个答案:

答案 0 :(得分:1)

首先,我想澄清你的问题。您希望将标签lbdisp绑定,然后每当disp更改,lb.text更改时,是吗?

  1. 为什么不使用MXML(与Binding机制完全匹配)?

  2. 如果你真的想使用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" );
    
    }
    
  3. 顺便说一下,如果可能的话,我总是避免使用Binding。在简单的情况下手动更新属性将保存文件大小和性能。