Flex 主程序、模块、PopUp调用初探

主程序调用以它为父的模块的函数或属性:
import modules.Mo1Home;
private var mo1:Mo1Home=new Mo1Home();

模块调用主程序中的方法或属性:
var str:String=this.parentApplication.menuBarItemId;
在主窗体实例化模块后调用属性=主窗体中的变量即可(Flood中的poiname);

popup与mxml互动用paraobj;

模块调用主程序方法:
Flex <wbr>模块 <wbr>主程序调用模块方法和模块调用主程序方法
在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>


module通过父模块调另一模块的方法:

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;
      }
     }


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值