从组件调用viewstack(主应用程序)

时间:2011-12-14 13:29:03

标签: flash actionscript-3 flex flash-builder

我的主要应用程序中有一个viewstack

public var currentStep:int;

<mx:ViewStack id="step" selectedIndex="{currentStep}">
     <comp:Choosecar id="choosecar" />
     <comp:Configcar id="configcar" />
</mx>

我正在使用拖放来选择汽车组件,所以我想改变'currentstep' - 这是主应用程序的一个变量 - 用+1,因此视图堆栈改为第二个组件'configcar'。我找到的唯一解决方案是从主应用程序调用一个组件,我需要反过来但我找不到它。

有人可以帮帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

在您的组件Choosecar中,您可以发送一个事件,让我们说“switchToConfig”。我认为你的意思是下拉而不是“拖放”。

<mx:ComboBox change="dispatcheEvent(new Event('switchToConfig'))" />

在组件MXML的开头,您必须声明调度的事件:

[Event(name="switchToConfig", type="flash.events.Event")]

现在,您将能够在顶级应用程序中捕获该事件

[Bindable] public var currentStep:int;

<mx:ViewStack id="step" selectedIndex="{currentStep}">
   <comp:Choosecar id="choosecar" switchToConfig="currentStep = 1" />
   <comp:Configcar id="configcar" />
</mx>

干杯