[英]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.