0

mxml を使用して非常に単純なフレックス アプリケーションを作成しています。私は多くのボタンを持っています。そのうちの 1 つをクリックすると、その値が に変わることを願っていますWorld

私のコードは次のとおりです。

<?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" minWidth="955" minHeight="600">
    <fx:Declarations>
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            private function hello():void {
                this.label = "World!";
            }
        ]]>
    </fx:Script>

    <mx:HBox>
        <s:Button click="hello()" label="Hello" />
        <s:Button click="hello()" label="Hello" />
        <s:Button click="hello()" label="Hello" />
        <s:Button click="hello()" label="Hello" />
        <s:Button click="hello()" label="Hello" />
    </mx:HBox>

</s:Application>

this.label = "World!"見つからないコンパイルできないため、これは正しくthis.labelありません。

thisクリックしたボタンへの参照を許可する方法、またはこれを実装する方法は?

4

1 に答える 1

1

以下のコードを試してみてください。これが役立つ場合があります: -

<?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" minWidth="955" minHeight="600">
    <fx:Declarations>
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            private function hello(event:MouseEvent):void {
                event.currentTarget.label = "World!";
            }
        ]]>
    </fx:Script>

    <mx:HBox>
        <s:Button click="hello(event)" label="Hello" />
        <s:Button click="hello(event)" label="Hello" />
        <s:Button click="hello(event)" label="Hello" />
        <s:Button click="hello(event)" label="Hello" />
        <s:Button click="hello(event)" label="Hello" />
    </mx:HBox>

</s:Application>
于 2012-07-25T07:31:35.037 に答える