2010-07-27 50 views
3

我有一個MXML組件,包括。至於文件,拋出的asdoc的錯誤,包括一個獨立的。至於文件

<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組件繼承一個普通的類文件。這意味着沒有私有成員在基類,只有內部(意味着一個單獨的包安全組件)或保護。這至少會讓事情變得乏味。

是否有其他變通或可能的asdoc能解決問題的測試/ nightly版本?我正在使用Flex 4.1.0.16076 SDK,即「最新的生產質量版本」。

更新

使用的asdoc從SVN主幹剛試過,(4.5.0 REV。16942)和問題仍然存在。

回答

2

說實話,我已經習慣瞭解決方案1,從不回頭。我想我已經在混合使用AS和MXML,那麼危害在哪裏?此外,您還可以讓會員突出體現AS和MXML的優勢。例如,單擊HBox的id屬性的文本,並且您的代碼窗口會獲取指示您在該成員被引用的頁面上的哪個位置的標記。對我來說,這是一個很好的功能,值得放棄關於從MXML分離AS的任何煩惱。

+1

這些標記很可能是一個有用的功能,但是我發現邏輯與UI佈局和表示代碼的混合是混亂的混搭。 Adobe添加了該選項的原因是:「如果您的項目涉及重要的ActionScript代碼,組織代碼的最佳方式是在單獨的ActionScript源文件中;」 http://help.adobe.com/en_US/as3/learn/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fd6.html我的客觀和主觀結論是將MXML組件分解爲.mxml和.as文件。 – Atorian 2010-07-27 21:34:20

+0

@Alan G .:問題是,只要你開始在同一個組件中開始使用MXML和ActionScript,你就是在混合邏輯和表示。將兩者放在單獨的文件中使IMO更難以使用。 – Robusto 2010-07-27 23:28:36