修改当前状态中未包含的组件?

时间:2010-04-22 04:04:13

标签: flex flex4 state

在Flex 4中,是否可以修改未包含在当前状态的组件?例如,我在stateA中包含labelA,如何更改stateB中的标签文本?如果我直接更改stateB中的标签文本,我将收到一条空引用错误消息。

一种解决方法是在所有状态中包含labelA,并将其设置为在stateA以外的状态下不可见。但是,如果这种组件的数量太大,则工作变得乏味,而且我认为在不相关的状态中包含不必要的UI组件也是不合理的。这种情况有更好的解决方案吗?谢谢!

此致


感谢您的回复。因此,如果这种情况很常见,我希望我的代码中会有很多可绑定的变量声明,比如

[Bindable]
private var a:String;
[Bindable]
private var b:String;
[Bindable]
private var c:String;

等等。我对吗?再次感谢! :)

1 个答案:

答案 0 :(得分:0)

请勿自行修改标签上的文字。相反,您可以创建一个变量(String)来保存文本,将标签文本值绑定到该变量,而不仅仅是更改变量的值。类似的东西:

<fx:Script>
    <![CDATA[           
        [Bindable]
        private var yourLabelText:String = 'this is the text'; 
    ]]>
</fx:Script>
<s:Label text="{yourLabelText}" />