要回答更一般的問題:導入是包含外部文件的首選方式。在我看來,include
聲明應該只在沒有別的事情可以使用時纔會使用,因爲如果出現錯誤並且使代碼通常更難以閱讀和理解,它會使調試變得更加困難。 Assaf對import
和include
所做的描述是正確的。
然後對於您看起來更具體的問題:您可能試圖在<script>
塊中執行 testing.init();
- 嘗試將其置於方法中。你只應該在腳本塊中直接使用像import
語句和成員聲明(變量,函數)之類的東西,以及類似於函數中的語句。
您看到該錯誤消息,因爲當您調用此對象的init()
方法時,該方法尚未創建 - 當您的MXML文件所代表的類定義爲裝;你想要的是在創建這個類的特定實例時執行它,並且可以通過在類的構造函數中調用它來實現它(這是,據我所知,寫作時不可能一類使用MXML,在處理函數,以便閱讀:)或例如爲FlexEvent.CREATION_COMPLETE
(在MXML標籤上還是creationComplete
屬性)事件(見下面的例子。)
嘗試是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
width="800" height="600"
creationComplete="creationCompleteHandler();"
>
<mx:Script>
<![CDATA[
import lib.Journal;
public var testing:Journal = new Journal();
private function creationCompleteHandler():void
{
testing.init();
}
]]>
</mx:Script>
</mx:Application>
謝謝。這更有意義。但是,我現在得到了 錯誤:通過靜態類型日誌引用調用可能未定義的方法init。 – codecowboy 2009-02-21 17:25:45