簡體   English   中英

如何從Flex 3組件發送信息?

[英]How to Send Info From a Flex 3 Component?

我需要一些有關從組件發送信息的幫助。 我不確定如何進行。

我正在使用Alex Uhlmann的翻轉卡類(失真效果)。 我有一張有3張面孔的卡片。 當用戶單擊按鈕時,它將觸發更改事件,並且在主應用程序中,更改事件將調用函數flipTo來翻轉卡。 該組件如下:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Panel 
        xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
        width="500"
        height="400">

        <mx:Metadata>
            [Event("change", type="mx.events.Event")]
        </mx:Metadata>


        <mx:Script>
            <![CDATA[
                [Bindable]
                public var backCaption:String;
            ]]>
        </mx:Script>


            <mx:Text id="myAnswer" htmlText="{backCaption}"  width="100%" />

        <mx:ControlBar height="40"  width="100%" >
                <mx:Button 
                             x="20" y="400" 
                             label="Flip" 
                             click="dispatchEvent( new Event( Event.CHANGE ) );" />
        </mx:ControlBar>

    </mx:Panel>

主要應用程序如下所示:

<mx:Canvas id="homeStack"   >
        <mx:ViewStack id="flipViewStack2"  x="200" y="150"  >

            <sides:FlipFace 
            id="frontFace2" 
            title="Newport"
            change="flipTo(frontFace2, backFace2, DistortionConstants.LEFT, DistortionConstants.RIGHT);" />     


            <sides:FlipReverse  
            id="backFace2" 
            title="Newport: Answer"  
            change="flipTo(backFace2, anotherFace2, DistortionConstants.LEFT, DistortionConstants.LEFT);" />    

            <sides:FlipAnotherSide  
            id="anotherFace2" 
            title="Other Stuff"  
            change="flipTo(anotherFace2, frontFace2, DistortionConstants.RIGHT, DistortionConstants.LEFT);"/>

        </mx:ViewStack>
    </mx:Canvas>

    <mx:Canvas id="OtherStack" >
        (more code)
    </mx:Canvas>

主應用程序中的flipTo函數采用4個參數:開始側,結束側,然后是兩個確定翻轉方向的參數。

一切正常。 如果按下按鈕,則可以翻動所有側面。 但是,我想添加一個comboBox,以便用戶可以直接翻到他們想要的一側,而不必在所有側面循環。 (這很重要,因為我計划增加更多的面)。

在主應用程序中,請注意,雙方的ID均為2。 例如,frontFace2。 我有多組卡,每組卡具有不同的編號,frontFace3,frontFace4等。編號確定從數據庫中提取哪些數據。 (為簡便起見,我簡化了代碼)。

如何在組件中添加comboBox,使卡翻轉到選定的一側?

我需要自定義事件嗎? (不幸的是,我對自定義事件一無所知)。 有沒有一種方法可以讓comboBox設置一個公共變量,然后以某種方式在主應用程序中訪問該變量,並用comboBox的選擇端調用flipTo? 還有其他可能性嗎?

有什么建議么?

謝謝。

-拉克西米

哦,是的,您需要一個自定義事件。 自定義事件是對Event類的繼承,您可以在其上加載更多數據,參數,視圖等。

在您的情況下,事情要簡單一些,但是您需要查看用戶選擇的“面孔”並將其翻轉。

步驟1.創建一個自定義事件(從事件繼承)2.將一個var添加到名為face的事件類中。當用戶從組合中選擇值時,用值填充face var並分派事件4.聽該事件在應用程序級別,然后翻轉到相關面孔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM