2010-04-22 86 views
1

在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

請勿自行修改標籤上的文字。相反,您可以創建一個變量(一個字符串),它將保存文本,將標籤文本值綁定到該變量,而不僅僅是更改變量的值。類似於此:

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