我可以将Flex入口点MXML子类设置为自定义AS3类

时间:2010-10-21 13:49:51

标签: actionscript-3 flex4 mxml

使用MXML组件,我看到了一个模式,你使用的是AS3类,然后是MXML的子类,它将视图/代码分开(从实际代码中匿名):

package com.john
{
 public class MyComponent extends Canvas
 {
  ...
 }
}

<?xml version="1.0" encoding="utf-8"?>
<logic:MyComponent xmlns:logic="com.john.*"
     xmlns:mx="http://www.adobe.com/2006/mxml">
 ...
</logic:MyComponent>

至少我认为 MXML组件是AS3类的子类?

无论如何,我可以/建议用我的主MXML应用程序文件执行此操作,因此我可以将管理器实例和事物放在AS3 MyApp类中,该类由Main.MXML子类化?

非常欢迎真/伪代码示例。

1 个答案:

答案 0 :(得分:0)

应该可以,您只需要将com.john.MyComponent基类扩展为spark.components.Applicationmx.core.Application

但无论是否建议,除非您计划以某种方式重用该基类,否则我看不到其中的好处。如果它是一个沉重的应用程序类或只是鄙视mxml,重构实现代码到启动命令并在另一个容器中组合任何子视图将真正减轻app类。我甚至更喜欢构成当前MyComponent的app类,而不是将其转换为基础应用程序类并进行扩展。