我有一个在Flex Builder 3中构建的应用程序。它有相当数量的mxml和as3代码,它们使用其他一些自定义功能。我查看了有关构建组件的文档,这些文档展示了如何创建一个简单的mxml或动作脚本组件,它扩展了类似组合框的功能,但我对于如何使用整个现有且独立运行的应用程序并将其转换为可重用的组件。
基本上,我只想在另一个flex项目中创建此应用程序的多个实例。
任何人都可以提供一点指导吗?
答案 0 :(得分:2)
最简单的方法是将Application mxml标记与VBox标记交换...从而使其像一个组件。
e.g。如果这是你的申请:
//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>
如果您需要将任何数据传递给组件,则可能必须创建一些公共属性...
答案 1 :(得分:0)
如果您只是想要一些“父”Flex应用程序来嵌入此自治子应用程序的多个实例,那么您应该看到Adobe的"Embedding Asset Types"文档,其中描述了如何将一个SWF文件嵌入另一个SWF文件中。
来自文档:
您通常会嵌入Flex应用程序 当你不需要嵌入时 应用程序与...进行交互 嵌入式应用。如果嵌入 应用程序需要交互性 随着嵌入式应用程序,你 可能会考虑将其实施为 自定义组件,而不是一个 单独申请。
如果你做需要嵌入式应用程序和父应用程序之间的交互,你可以查看SWFLoader控件。