2010-04-22 3 views
1

Flex 4에서는 현재 상태에 포함되지 않은 구성 요소를 수정할 수 있습니까? 예를 들어 stateA에 labelA가 포함되어 있는데 stateB에서 라벨 텍스트를 변경하려면 어떻게해야합니까? stateB에서 레이블 텍스트를 직접 변경하면 null 참조 오류 메시지가 나타납니다.현재 상태에 포함되지 않은 구성 요소를 수정합니까?

한 가지 해결 방법은 모든 상태에 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}" />