0

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. 我怎样才能做到这一点?

感谢您的时间。

4

2 回答 2

1

弹性全球顶级应用

在你的情况下:

var app : TabbedViewNavigatorApplication = FlexGlobals.topLevelApplication as TabbedViewNavigatorApplication

当然,访问顶级应用程序是封装的一个很好的突破,通常不推荐。

于 2012-05-18T21:31:49.723 回答
0

最好使用“parentApplication”属性。例如,如果您想从其他视图禁用视图“vsetting”的选项卡按钮:

parentApplication.vsetting.enabled = false;
于 2014-12-21T10:42:38.677 回答