我的主要应用程序中有一个viewstack
public var currentStep:int;
<mx:ViewStack id="step" selectedIndex="{currentStep}">
<comp:Choosecar id="choosecar" />
<comp:Configcar id="configcar" />
</mx>
我正在使用拖放来选择汽车组件,所以我想改变'currentstep' - 这是主应用程序的一个变量 - 用+1,因此视图堆栈改为第二个组件'configcar'。我找到的唯一解决方案是从主应用程序调用一个组件,我需要反过来但我找不到它。
有人可以帮帮我吗?
谢谢!
答案 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>
干杯