我有一个动作脚本文件,它定义了一个我想在 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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top