题
我有一个动作脚本文件,它定义了一个我想在 Flex 应用程序中使用的类。
我在动作脚本文件中定义了一些自定义控件,然后通过应用程序标记导入它们:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:scorecard="com.apterasoftware.scorecard.controls.*"
...
</mx:Application>
但这段代码不是一个 Flex 组件,而是一个用于执行数学例程的库,我如何导入这个类?
解决方案
您需要在脚本标记内导入该类。
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import com.apterasoftware.scorecard.controls.*;
// Other imports go here
// Functions and other code go here
</mx:Script>
<!-- Components and other MXML stuff go here -->
<mx:VBox>
<!-- Just a sample -->
</mx:VBox>
</mx:Application>
然后,您将能够在脚本标记中的其他任何位置引用该类。根据类的编写方式,您可能无法在 MXML 中使用绑定,但您可以定义自己的代码来处理该问题。
命名空间声明仅用于导入其他 MXML 组件。AS 类是使用脚本块或另一个 AS 文件中的 import 语句导入的。
其他提示
@赫姆斯:澄清一下,当您要使用 MXML 实例化 AS 类时,命名空间声明也可用于“导入”AS 类。
例如,考虑拥有一个完全用 AS 编写的自定义可视组件,比方说 com.apterasoftware.scorecard.controls.MathVisualizer
. 。要在 MXML 中使用它:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:aptera="com.apterasoftware.scorecard.controls.*">
<aptera:MathVisualizer width="400" height="300" />
</mx:Application>
不隶属于 StackOverflow