Apache flex Flex-将数据传递到选项卡式视图

Apache flex Flex-将数据传递到选项卡式视图,apache-flex,flex4,httpservice,dataprovider,viewstack,Apache Flex,Flex4,Httpservice,Dataprovider,Viewstack,我有一个有4个视图的项目,其中我使用了带有viewStack/NavigatorContent的选项卡栏。我已经设置了几个HTTPServices来收集XML并转换为可绑定的ArrayCollections。何时以及如何将数据传递到图表、数据网格等直到用户单击选项卡才能看到的对象的最佳方式?现在,我已经用creationComplete函数设置了每个项目,然后通过它。虽然它似乎在起作用,但这是最好的方法,还是有更好甚至更快的方法 谢谢, 标记创建视图时,请确保允许使用公共变量(如“dataPro

我有一个有4个视图的项目,其中我使用了带有viewStack/NavigatorContent的选项卡栏。我已经设置了几个HTTPServices来收集XML并转换为可绑定的ArrayCollections。何时以及如何将数据传递到图表、数据网格等直到用户单击选项卡才能看到的对象的最佳方式?现在,我已经用creationComplete函数设置了每个项目,然后通过它。虽然它似乎在起作用,但这是最好的方法,还是有更好甚至更快的方法

谢谢,
标记

创建视图时,请确保允许使用公共变量(如“dataProvider”),以便绑定所需的数据。像这样:

<mx:ViewStack>
        <s:NavigatorContent>
            <SomeComponent dataProvider="{someData}" />
        </s:NavigatorContent>
        <s:NavigatorContent>
            <SomeComponent2 dataProvider="{someData}" />
        </s:NavigatorContent>
    </mx:ViewStack>

最好的方法是使用数据绑定。假设您有一个主容器,其中包含表示选项卡内容的组件。因此,主容器中的数据应具有
[Bindable]
属性,如下所示:

[Bindable]
private var chartData:ArrayCollection;

[Bindable]
private var dataGridData:ArrayCollection;
等等

因此,对于包含图表的组件,应使用数据绑定填充图表数据:

<ViewStack>
    …
    <MyChartsTab chartData="{chartData}" />
    …
</ViewStack>

…
…
当然,您应该在
MyChartsTab
组件中引入相同的
chartData
字段(确保它是
public
)。那里的图表也可以用数据绑定填充

因此,在获取数据之后,您只需在主组件中填充字段,数据绑定就可以执行其余的工作,而不必关心您的初始化

<ViewStack>
    …
    <MyChartsTab chartData="{chartData}" />
    …
</ViewStack>