flex将数据传递给多个视图

时间:2013-07-01 12:30:56

标签: flex mobile flash-builder

正在构建移动Flex应用程序,它有1个主视图,包含名称列表和2个详细视图(一个英文视图和第二个阿拉伯语详细信息)。

当我运行程序并从列表中选择某些内容时,它将显示带有一些英文文本的第一个详细信息视图,然后当我单击切换按钮时显示空文本区域。

主视图中的pushview:

protected function list_changeHandler(event:IndexChangeEvent):void
        {
            navigator.pushView(Details,list.selectedItem);
        }

在第二个视图中推送视图:

<s:Button label="switch"  click="navigator.pushView(ArabicDetails)"/>

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是扩展您正在推送到视图中的数据。例如,您将selectedItem推送到Details视图。相反,你可以像这样推送一个对象:

{ selectedItem: list.selectedItem,
  englishDetails: [ 'a', 'b', 'c' ],
  arabicDetails: [ '1', '2', '3' ]
}

现在,当您导航到任何视图时,您始终会按上述方式推送相同类型的对象。视图可以从中选择所需内容。缺点是你在记忆中保持更多。