Flex 应用程序到组件?
Posted
技术标签:
【中文标题】Flex 应用程序到组件?【英文标题】:Flex application to component? 【发布时间】:2010-09-19 20:31:25 【问题描述】:我有一个在 Flex Builder 3 中构建的应用程序。它有相当数量的 mxml 和 as3 代码,这些代码使用了一些其他自定义组件。我查看了有关构建组件的文档,该文档展示了如何制作一个简单的 mxml 或操作脚本组件来扩展类似于组合框的东西,但我不知道如何将一个完整的现有且独立运行的应用程序变成一个可重复使用的组件。
基本上,我只想在另一个 flex 项目中创建此应用的多个实例。
谁能提供一点指导?
【问题讨论】:
【参考方案1】:简单的做法是将 Application mxml 标记与 VBox 标记交换……从而使它像一个组件一样工作。
例如如果这是您的应用程序:
//Foo.mxml
<mx:Appliction xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Label text = "foo" />
</mx:Appliction>
改成:
//Foo.mxml
<mx:VBox>
<mx:Label text = "foo" />
</mx:VBox>
然后你可以这样做:
//App.mxml
<mx:Appliction
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:local="your.package.scheme.*"
>
<local:Foo />
</mx:Appliction>
如果您需要将任何数据传递给组件,您可能需要创建一些公共属性...
【讨论】:
【参考方案2】:如果您只是想让某个“父”Flex 应用程序嵌入这个自主子应用程序的多个实例,那么您应该查看 Adobe 的 "Embedding Asset Types" 文档,该文档描述了如何将一个 SWF 文件嵌入到另一个文件中。
来自文档:
您通常会嵌入 Flex 应用程序 当您不需要嵌入时 应用程序与之交互 嵌入式应用程序。如果嵌入 应用程序需要交互性 使用嵌入式应用程序,您 可能会考虑将其实现为 自定义组件,而不是作为 单独的应用程序。
如果您确实需要嵌入式应用程序和父应用程序之间的交互,您可以查看SWFLoader 控件。
【讨论】:
以上是关于Flex 应用程序到组件?的主要内容,如果未能解决你的问题,请参考以下文章