Flex:更新标签的文本,这是一个变量

Kev*_*ven 3 apache-flex actionscript-3 flash-builder

我有一个标签,当你点击一个按钮时,它会从var获得它的价值.var已经声明:

public function clickevent
{
label.text = aVariable; 
}
Run Code Online (Sandbox Code Playgroud)

现在我知道如果我有这样的标签:

<s:Label id="label2" text="{aVariable}"/> 
Run Code Online (Sandbox Code Playgroud)

并且aVariable是空的,label2的文本是Null(它没有给出错误,在我的情况下只是"Null").这是我目前的情况.

我想知道的是,例如,当我稍后将aVariable的值更改为字符串"hasChanged"时.label2的文本也应更改为"hasChanged",而无需用户按下按钮或任何内容进行此更改.如何才能做到这一点?

Jiv*_*ago 5

我不是100%确定我理解你的问题但是如果你的变量被声明为"可绑定",无论你的脚本是否改变了它的值或按钮,标签的文本属性都会在绑定时跟随.

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            [Bindable]
            private var aVariable:String;

            protected function button1_clickHandler(event:MouseEvent):void
            {
                aVariable = "My new value";
            }
        ]]>
    </fx:Script>

    <s:layout>
        <s:VerticalLayout/>
    </s:layout>

    <s:Label text="{aVariable}"/>

    <s:Button label="Click me" click="button1_clickHandler(event)"/>

</s:WindowedApplication>
Run Code Online (Sandbox Code Playgroud)