在Flex 4中,是否可以修改未包含在当前状态的组件?例如,我在stateA中包含labelA,如何更改stateB中的标签文本?如果我直接更改stateB中的标签文本,我将收到一条空引用错误消息。
一种解决方法是在所有状态中包含labelA,并将其设置为在stateA以外的状态下不可见。但是,如果这种组件的数量太大,则工作变得乏味,而且我认为在不相关的状态中包含不必要的UI组件也是不合理的。这种情况有更好的解决方案吗?谢谢!
此致
感谢您的回复。因此,如果这种情况很常见,我希望我的代码中会有很多可绑定的变量声明,比如
[Bindable]
private var a:String;
[Bindable]
private var b:String;
[Bindable]
private var c:String;
等等。我对吗?再次感谢! :)
答案 0 :(得分:0)
请勿自行修改标签上的文字。相反,您可以创建一个变量(String)来保存文本,将标签文本值绑定到该变量,而不仅仅是更改变量的值。类似的东西:
<fx:Script>
<![CDATA[
[Bindable]
private var yourLabelText:String = 'this is the text';
]]>
</fx:Script>
<s:Label text="{yourLabelText}" />