3

我有一个 MXML 组件,其中包含一个.as文件

<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 组件继承自普通类文件。这意味着基类中没有私有成员,只有internal(意味着组件安全的单独包)或protected。至少可以说,这会让事情变得乏味。

是否有任何其他解决方法或可能是asdoc的 beta/nightly 版本来解决问题?我正在使用 Flex 4.1.0.16076 SDK,即“最新的生产质量版本”。

更新

刚刚尝试使用 svn 主干中的 asdoc(4.5.0 rev. 16942),问题仍然存在。

4

1 回答 1

2

老实说,我已经习惯了解决方案 1,再也没有回头。我想我已经在混合 AS 和 MXML,那么有什么害处呢?此外,您还可以让成员突出显示桥接 AS 和 MXML 的额外优势。例如,单击 HBox 的 id 属性的文本,您的代码窗口会获取标记,这些标记会显示该成员在页面上的哪个位置被引用。这是一个很好的特性,对我来说,非常值得放弃任何关于将 AS 与 MXML 分离的烦恼。

于 2010-07-27T20:54:27.387 回答