Изменить текст метки с помощью ActionScript - PullRequest
0 голосов
/ 01 декабря 2011

У меня очень простой вопрос.Почему это не работает?!

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               width="1000" height="550" minWidth="960" backgroundColor="#F2F0F0">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:Label id="test1" x="43" y="259" text="Label"/>

    <fx:Script>
        <![CDATA[
            test1.text = "Yay! This works...!";
        ]]>
    </fx:Script>
</s:Application>

Я получил эту ошибку: Доступ к неопределенному свойству.

Спасибо!

1 Ответ

5 голосов
/ 01 декабря 2011

Вы устанавливаете текст перед созданием компонента. Попробуйте поместить назначение в метод и вызвать метод на creationComplete:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           width="1000" height="550" minWidth="960" backgroundColor="#F2F0F0" 
           creationComplete="onCreationComplete()">
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Label id="test1" x="43" y="259" text="Label"/>

<fx:Script>
    <![CDATA[
        public function onCreationComplete():void {
            test1.text = "Yay! This works...!";
        }
    ]]>
</fx:Script>
</s:Application>
...