Actionscript 3 如何响应在视图堆栈中选择的NavigatorContent
我的应用程序中有如下视图堆栈:Actionscript 3 如何响应在视图堆栈中选择的NavigatorContent,actionscript-3,apache-flex,flex-spark,Actionscript 3,Apache Flex,Flex Spark,我的应用程序中有如下视图堆栈: <mx:ViewStack id="viewStack" left="0" right="0" top="0" bottom="0"> <views:LoginView top="0" bottom="0" right="0" left="0" id="loginView"/> <views:MainHomeView top="0" bottom="0" right="0" left="0" id="childSele
<mx:ViewStack id="viewStack" left="0" right="0" top="0" bottom="0">
<views:LoginView top="0" bottom="0" right="0" left="0" id="loginView"/>
<views:MainHomeView top="0" bottom="0" right="0" left="0" id="childSelectionView"/>
<views:MainHomeView top="0" bottom="0" right="0" left="0" id="mainEvalView"/>
</mx:ViewStack>
我知道所有NavigatorComponent都会在应用程序启动时分派creationComplete事件,但它们的子节点尚未创建。我是如何回应被选中的孩子转变成自我的?有时候,在你之前的问题确实在同一个问题域中,稍微多讨论一下是值得的。使用FlexEvent.CONTENT\u CREATION\u COMPLETE事件 请参见
我认为你不理解这个问题@迈克。佩蒂74回答得对。
<?xml version="1.0" encoding="utf-8"?>
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:local="*" xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()">
<fx:Script>
<![CDATA[
private function init():void
{
// Do something here
advanceButton.visablitiy = false;
}
]]>
</fx:Script>
<s:VGroup>
<s:HGroup>
<s:Button label="Advance" id="advanceButton" />
</s:HGroup>
</s:VGroup>
<fx:Script><![CDATA[
import mx.controls.Alert;
import mx.events.IndexChangedEvent;
protected function viewStack_childIndexChangeHandler(event:IndexChangedEvent):void {
Alert.show('Selected Child: ' + viewStack.selectedChild.label);
}
]]></fx:Script>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:ButtonBar dataProvider="{viewStack}"/>
<mx:ViewStack id="viewStack" change="viewStack_childIndexChangeHandler(event)">
<s:NavigatorContent id="navigator1" label="Navigator 1">
<s:Group>
<s:Button label="N1"/>
</s:Group>
</s:NavigatorContent>
<s:NavigatorContent id="navigator2" label="Navigator 2">
<s:Group>
<s:Button label="N2"/>
</s:Group>
</s:NavigatorContent>
</mx:ViewStack>