【问题标题】:Asdoc throwing errors for MXML component that includes a separate .as file包含单独 .as 文件的 MXML 组件的 Asdoc 引发错误
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

    • 标记很可能是一个有用的功能,但我认为逻辑与 UI 布局和演示代码的混合是一种混乱的混搭。 Adobe 出于某种原因添加了该选项:“如果您的项目涉及大量 ActionScript 代码,则组织代码的最佳方式是在单独的 ActionScript 源文件中”; help.adobe.com/en_US/as3/learn/…我的客观和主观结论是把MXML组件拆分成.mxml和.as文件。
    • @Alan G.:关键是,一旦开始在同一个组件中使用 MXML 和 ActionScript,您就会混淆逻辑和表示。 IMO,将两者放在单独的文件中只会使其更难使用。
    猜你喜欢
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2019-08-04
    • 2011-12-25
    • 2011-06-30
    相关资源
    最近更新 更多