0

我有一个在 Flex Builder 3 中构建的应用程序。它有相当数量的 mxml 和 as3 代码,这些代码使用了一些其他自定义组件。我查看了有关构建组件的文档,该文档展示了如何制作一个简单的 mxml 或操作脚本组件来扩展类似于组合框的东西,但我不知道如何将一个完整的现有且独立运行的应用程序变成一个可重复使用的组件。

基本上,我只想在另一个 flex 项目中创建这个应用程序的多个实例。

谁能提供一点指导?

4

2 回答 2

2

最简单的做法是将 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>

如果您需要将任何数据传递给组件,您可能必须创建一些公共属性......

于 2008-10-29T20:53:08.720 回答
0

如果您只是想让一些“父”Flex 应用程序嵌入这个自治子应用程序的多个实例,那么您应该查看 Adob​​e 的“嵌入资产类型”文档,该文档描述了如何将一个 SWF 文件嵌入到另一个文件中。

从文档中:

当您不需要嵌入应用程序与嵌入式应用程序交互时,您通常会嵌入 Flex 应用程序。如果嵌入应用程序需要与嵌入应用程序交互,您可以考虑将其实现为自定义组件,而不是作为单独的应用程序。

如果您确实需要嵌入式应用程序和父应用程序之间的交互,您可以查看SWFLoader控件。

于 2008-10-29T18:30:59.037 回答