0

我有一个正在与一个小组合作的 Flex 应用程序。这是一个简单的旅行社,我们的数据从 URL 中提取并存储在 XML 对象中。

目前,我们的应用程序结构类似于网页的布局。应用程序文件包含主要外观和布局(页眉容器、正文容器和页脚容器)。

我有其他 mxml 组件文件,其中包含应用程序的内容(标题组件类、page1 等)。但是,这些页面将需要处理我将要接收的数据。

基本思想是在应用程序构建后将数据加载到应用程序中,并将原始 xml 列表的副本传递到用户当前所在的任何页面,以便在用户使用 Flex XML 对象类查询其搜索参数时修改该副本。基本上从大开始(所有度假胜地)并变得更具体(从选择的指定参数中选择几个)。

我正在考虑使用字符串(即 .toXMLString)传递副本,并在每个页面中使用修改后的 XML 字符串创建另一个 XML 对象,但不确定如何传递该字符串对象。

但是,我对如何执行此操作有点困惑,因为当我自己搜索示例时,它的范围从创建事件、创建一个全局的 actionscript 文件,以及人们建议在我的应用程序中使用可绑定的公共 var。所以有点混乱。我不是在寻找一个完整的解决方案,只是一些基本的东西,我可以在对它有很好的理解后进行工作和玩弄,然后在这个应用程序中实施。

4

1 回答 1

0

Reboog711 发布的示例正是我想要的。我能够实现一个示例并在我的应用程序中获得我想要的功能。

编辑:直到 2 天才能将此标记为答案。

编辑#2:我通过使用元数据并为每个接受参数的 MXML 文件定义事件来解决它。

我在我的组件 MXML 中定义了这些:

MXML 组件文件:

<fx:Metadata>
    [Event(name="customEvent", type="flash.events.Event")]
</fx:Metadata>

然后定义一个 var 对象来接收该对象,以及该 MXML 组件中的方法:

public var someObject:Object = new Object();
public function setObject(objectRef:Object):void{
    xmlList = new XML(xmlString);
}

然后在您的 MXML 应用程序文件中,当您使用您的组件时,您可以执行以下操作来调用您的事件:

<[Package]:[Component Name] id="id" includeIn="[State]" passXML="id.someObject(passedObject)"/>
于 2013-05-01T17:27:50.957 回答