我正在尝试实现嵌套的 TabbedViewNavigator(在视图内)。我按照这篇文章中描述的方法 3 做到了这一点:
代码在这里:
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView">
<s:TabbedViewNavigator width="100%" height="100%">
<s:ViewNavigator label="1st Tab" width="100%" height="100%"
firstView="views.FirstTabView"/>
<s:ViewNavigator label="2nd Tab" width="100%" height="100%"
firstView="views.SecondTabView"/>
<s:ViewNavigator label="3rd Tab" width="100%" height="100%"
firstView="views.ThirdTabView"/>
</s:TabbedViewNavigator>
但是,如果我在其中一个子视图中调用“navigator.pushView(someView)” - 比如说 FirstTabView - 新视图将被推送到嵌套的 TabbedViewNavigator 而不是父视图导航器中。那不是我想要的。我想完全改变应用程序状态并显示一个新视图。我怎样才能做到这一点?我是否应该(在主视图中)监听嵌套 TabbedViewNavigator 中的更改,然后从那里推送新视图?还是我应该以其他方式做到这一点?