估且認為它是乙個bug吧,因為到目前為止還是沒想明白造成問題的原因。
在相對較為複雜或是多人協作的flex專案開發中,使用module進行開發是很平常的事情,而module的載入一般常用的有兩種方法:
1、使用moduleloader載入器;
2、使用modulemanager進行載入;
使用moduleloader進行載入:
private function loadmodule(url:string):void
moduleloader.url = url;
}使用modulemanager進行載入:
private function load(url:string):voidmodulemanager類負責管理載入的模組,當將模組的url傳遞到public的modulemanager.getmodule方法中時,則該模組位置就新增到被管理模組的列表中,並返回乙個mx.modules.imoduleinfo的例項。private function onready(evt:moduleevent):void
moduleinfo物件負責載入swf檔案,並被封裝成乙個實現了imoduleinfo介面的**類,由modulemanager.getmodule方法返回,可以監聽**類上的狀態事件,比如:ready、error、setup、progress事件等.
mx.events.moduleevent類
常量字串值
描述
progress
"progress"
載入模組時被排程。可以用這個事件訪問被載入模組的bytesloaded和bytestotal屬性
setup
"setup"
當已載入了足夠的模組內容時被排程
ready
"ready"
當模組完成載入時被排程
unload
"unload"
當解除安裝模組時被排程
error
"error"
但我在寫實際的demo示例時,發現乙個問題,如果沒有事先宣告imoduleinfo類的例項,在使用上面方面載入模組時,第一次載入不會呼叫任何的方法。完成的示例**如下:
//注釋或使用下面一行,執行檢視不同的效果
private function onprogress(evt:moduleevent):void
private function onready(evt:moduleevent):void
private function onerror(evt:moduleevent):void
private function useloader():void
在上面例子中,事先已經宣告過了乙個imoduleinfo類的例項,在載入時如果使用該例項進行載入則一切正常,如果不使用已經被宣告過的例項載入,則第一次載入時,不會有任何的反應,但使用moduleloader是沒有此問題的,所以我只能認為這是乙個bug了
示例專案工程的目錄很簡單:
如果想使用modulemanager載入模組,保險的方式就是先宣告乙個imoduleinfo類的例項,然後使用該例項去載入模組。兩種載入模組的優先方法相比,一般更為常用的是第二種,因為可以預載入模組,比較容易按不同的需求來控制模組。
Flex中的set啊Flex中的set
flex中的set啊flex中的set 2010年10月17日 flex中的set function就是給屬性賦值的,說起來簡單,但是遇到乙個相關的bug還真暈。其實幾天前就遇到類似問題了,我沒有深究,趕進度嘛。今天晚上alan修乙個bug的時候又遇到了,作為小leader,我就得幫他解惑。正好自己...
Flex中的set啊Flex中的set
flex中的set啊flex中的set 2010年10月17日 flex中的set function就是給屬性賦值的,說起來簡單,但是遇到乙個相關的bug還真暈。其實幾天前就遇到類似問題了,我沒有深究,趕進度嘛。今天晚上alan修乙個bug的時候又遇到了,作為小leader,我就得幫他解惑。正好自己...
flex布局中的flex屬性詳解
一 理論 display flex 容器屬性 flex direction,flex wrap,flex flow,justify content,align items,align content 專案的屬性 order,flex grow,flex shrink,flex basis,flex,...