我想知道<mx:Script>
標籤中包含的代碼會發生什麼情況。如果我定義了一個函數tehre,它就成爲生成的類的成員函數。但我注意到,如果我只是在那裏編寫一些(靜態的)方法調用(具體來說,我稱爲Font.registerFont()
),編譯器似乎可以。它工作正常,但我對此感到內疚,因爲我不知道到底發生了什麼以及何時執行代碼。Script標籤中的代碼在產生的AS類中出現在哪裏?
0
A
回答
1
根據www.Flextras.com's answer的建議,我保留了生成的Actionscript類並看了一下。 <mx:Script>
標籤中的代碼簡單地放在課堂上。知道了,我可以挖掘到Flex livedocs並在section about class definitions整個下段傳來:
的ActionScript 3.0允許包括在一類體不僅定義,而且語句。在類體內但在方法定義之外的語句只執行一次 - 當第一次遇到類定義並創建關聯的類對象時。
因此,把語句的<Script>
標籤內的MXML文件就相當於把代碼放在一個static
塊在Java類定義。
3
MXML正式是一種ActionScript生成語言。所以,Flex編譯器會將所有MXML轉換爲ActionScript。
如果你想看看會發生什麼;將「keep-generated-actionscript」參數添加到編譯器中,然後您可以查看生成的ActionSCript代碼。
http://livedocs.adobe.com/flex/3/html/compilers_14.html#157203
除此之外;我真的不明白你的問題。爲什麼靜態方法會讓你感到內疚?
相關問題
- 1. <script></script>標籤裏面的JavaScript代碼?
- 2. jQuery代碼在局部視圖中出現在哪裏?
- 3. Calls模塊標籤從哪裏出現在工作室中?
- 4. eclipse中的連接標籤在哪裏?
- 5. 標籤在哪裏?
- 6. CloudKit中的「containerEnvironment」在哪裏? (沙盒與生產指標)
- 7. 哪裏可以在派生類中調用基類的實現?
- 8. 我的代碼在哪裏出錯?
- 9. 在HTML代碼中定義的CSS標籤「剩下一半」在哪裏?
- 10. python鏈中的源代碼在哪裏?
- 11. Django源代碼中的Model.py在哪裏?
- 12. Mac OS中「tee」的代碼在哪裏?
- 13. 代碼中定義的DEBUG在哪裏?
- 14. 這段代碼在哪裏產生一個隨機數?
- 15. Python:os.mkdir的代碼在哪裏?
- 16. time.h實現代碼在哪裏?
- 17. 我的Google地圖標記代碼中的錯誤在哪裏?
- 18. 目標C中代碼中存儲的出口和動作在哪裏?
- 19. 你在哪裏使用Python代碼中的生成器功能?
- 20. 愛德華的源代碼中Normal類的位置在哪裏?
- 21. ASP.NET 5源代碼中AuthenticationManager的具體實現在哪裏?
- 22. Erlang在生產中產生N個過程的正確位置在哪裏?
- 23. 在哪裏可以找到標準Java類的代碼?
- 24. 資產應該放在代碼點火器項目中哪裏?
- 25. asp.net標識2.2.1源代碼在哪裏?
- 26. 雙script標籤跟蹤代碼
- 27. Yii2 jQuery代碼內<script>標籤
- 28. 爲什麼JSP標籤會出現在HTML源代碼中?
- 29. 在Rest中實現Rest API。代碼放在哪裏?
- 30. 我在哪裏出錯這個代碼
這不是靜態方法,而是我不知道在哪裏轉儲的代碼片斷會執行。通常情況下,我會將它放在某個事件處理程序中,但我無法確定哪種事件適合。 – 2010-05-25 11:50:12
在這種情況下,您應該閱讀Flex Component LifeCycle並使用這些方法/事件,以便在您需要時執行代碼。 http://livedocs.adobe.com/flex/3/html/help.html?content=ascomponents_advanced_2.html – JeffryHouser 2010-05-25 13:52:49
這也是很好的建議,謝謝。儘管我放在那裏的特定代碼完全是黑客,但它甚至不需要處理組件,我只是試圖使SWC的字體可用於應用程序的CSS。我認爲整個事情是一些醜陋的代碼味道,應該以完全不同的方式解決。但這是一個不同的故事。 – 2010-05-25 20:30:55