我有一个标签,当你点击一个按钮时,它会从var获得它的值。已经声明了var:
public function clickevent
{
label.text = aVariable;
}
现在我知道如果我有这样的标签:
<s:Label id="label2" text="{aVariable}"/>
和aVariable是空的,label2的文本是Null(它没有给出错误,在我的情况下只是“Null”)。这是我目前的情况。
我想知道的是,我稍后将aVariable的值更改为字符串“hasChanged”,例如。 label2的文本也应更改为“hasChanged”,而无需用户按下按钮或任何内容进行此更改。怎么办呢?
答案 0 :(得分: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>
答案 1 :(得分:3)
值得注意的是,声明块中的任何变量声明默认为Bindable:
<fx:Declarations>
<fx:String id="aVariable" />
</fx:Declarations>
<s:Label text="{aVariable}" />
<s:Button label="Click Me" click="aVariable='Clicked!'" />
这只是脚本块中声明的替代方法。
答案 2 :(得分:2)
使用[Bindable]标签声明您的变量,例如:
[Bindable] private var aVariable:String;
现在,只要变量aVariable的值发生变化,它就会反映在标签上。