Flex Mobile 4.6中是否有办法从<s:View>
组件中访问主应用程序?假设我的程序看起来像这样:
主要应用:
<s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
creationComplete="databaseConnection(event)">
<s:ViewNavigator id="tasks" width="100%" height="100%"
label="Tasks" firstView="views.TasksView"
title="Tasks" icon="@Embed('assets/icons/tasks.png')">
</s:ViewNavigator>
</s:TabbedViewNavigatorApplication>
view.TasksView:
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:List left="0" right="0" top="0" bottom="0"
dataProvider="{taskData}" itemRenderer="renderers.TaskListRenderer"/>
</s:View>
假设我想在view.TasksView
内访问主应用程序中的变量。我怎么能这样做?
感谢您的时间。
答案 0 :(得分:1)
FlexGlobals。topLevelApplication
在你的情况下:
var app : TabbedViewNavigatorApplication = FlexGlobals.topLevelApplication as TabbedViewNavigatorApplication
当然,访问顶级应用程序是一个很好的封装中断,通常不推荐。
答案 1 :(得分:0)
最好使用“parentApplication”属性。 例如,如果要从其他视图中禁用视图“vsetting”的选项卡按钮:
parentApplication.vsetting.enabled = false;