【发布时间】:2011-03-21 20:08:11
【问题描述】:
我有一个包含 .as 文件的 MXML 组件,其中包含
<fx:Script source="myfile.as" />
运行 asdoc 会引发一大堆错误,例如
"Error: The private attribute may be used only on class property definitions."
"Error: The public attribute can only be used inside a package."
我能在这篇文章中找到关于这个主题的唯一有用信息:http://danielmclaren.net/2009/08/28/using-asdoc-with-mxml-files-and-included-scripts。
那里描述了这个问题,有两种可能的解决方案:
- 解决方案 1 是将 AS 代码移动到 MXML 文件中。首先,有点违背了为 MXML 组件使用外部 .as 文件的目标,所以这确实是最后的选择。 mxml 文件中的代码很乱(我真的不希望逻辑与 mxml 混合),并且还需要使用 asdoc 语法。
- 解决方案 2 是让 MXML 组件继承自普通类文件。这意味着基类中没有 private 成员,只有 internal(意味着组件的单独包是安全的)或 protected。至少可以说,这会让事情变得乏味。
是否有任何其他解决方法或可能是 asdoc 的 beta/nightly 版本来解决问题?我正在使用 Flex 4.1.0.16076 SDK,即“最新的生产质量版本”。
更新
刚刚尝试使用 svn 主干中的 asdoc(4.5.0 rev. 16942),但问题仍然存在。
【问题讨论】:
标签: apache-flex mxml asdoc