module通過父模塊調另一模塊的方法:
Flex 主程序、模塊、PopUp調用初探
主程序調用以它爲父的模塊的函數或屬性:
import modules.Mo1Home;
private var mo1:Mo1Home=new Mo1Home();
模塊調用主程序中的方法或屬性:
var str:String=this.parentApplication.menuBarItemId;
或
在主窗體實例化模塊後調用屬性=主窗體中的變量即可(Flood中的poiname);
popup與mxml互動:用paraobj;
在moduels文件夾下 建立模塊 callAppModule.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="400" height="300">
<mx:Script>
<![CDATA[
import mx.core.Application;
//使用parentApplication調用父級函數;
private
function callParentAppFn():void{
var
str:String = this.parentApplication.sayHello("parent");
tips1.text = str;
}
//利用Application.application調用頂級容器函數;
private
function callAppFn():void{
var
str:String = Application.application.sayHello("app");
tips2.text
= str;
}
]]>
</mx:Script>
<mx:Button
label="利用parentApp" click="callParentAppFn()" />
<mx:TextInput
id="tips1" width="200" />
<mx:Button
label="利用App" click="callAppFn()" />
<mx:TextInput
id="tips2" width="200" />
</mx:Module>
///////////////主程序
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()">
<mx:Script>
<![CDATA[
import
moduels.CallAppModule;
import
mx.modules.Module;
import
mx.controls.Alert;
import
mx.events.ModuleEvent;
import
mx.modules.ModuleLoader;
private
var ml:ModuleLoader;
private
function init():void{
ml
= new ModuleLoader();
ml.url
= "moduels/CallAppModule.swf";
ml.addEventListener(ModuleEvent.READY,
onReady);
ml.loadModule();
}
private
function onReady(e:ModuleEvent):void{
var
m:CallAppModule = ml.child as CallAppModule;//沒有這個就加載不進來模塊,不知道爲什麼;
this.addChild(ml);
}
public
function sayHello(s:String):String{
return
"Hello Modules 來自" + s;
}
]]>
</mx:Script>
</mx:Application>
var module:Object=parentApplication.mod_main.child
as Object;//指向MoStreet模塊
module.mod_main.url="modules/MoStUpload.swf";
setTimeout(deferredMethod, 100);
function deferredMethod():void
{
var
module0:Object=module.mod_main.child as Object;//實例化mod_main的child,即指向mostupload;
if(tbb.selectedIndex==0)
{
module0.tabNavigator.selectedIndex=0;
module0.intMsgWarnRecent=yuxinInt;
}
else
{
module0.tabNavigator.selectedIndex=1;
module0.intMsgInfoRecent=yuxinInt;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.