[size=large][b]Application访问模块 [/b]
用ModuleLoader载入的模块,application可以用child来访问module中的方法。比如在模块中有一个公共的objectMethod方法
Java代码
s = (m1.child as loaderModule).objectMethod();
如果使用ModuleManager,那么可以向下面这样:
Java代码
public var sm:Object=moduleInfo.factory.create() as loaderModule;
s = sm. objectMethod;
[b]模块访问Application[/b]
主要是使用parentApplication 属性:
// testProperty可以是application的一个属性或者方法,当然module的可移植性几乎就没有了
var aa:Object=this.parentApplication.testProperty;
[b]模块访问模块[/b]
有两个模块,可以通过Application来访问:
Java代码
<mx:ModuleLoader url="InterModule1.swf" id="m1"/>
<mx:ModuleLoader url="InterModule2.swf" id="m2"/>
s = parentApplication.m1.child. objectMethod ();
[b]给ModuleLoader传递参数[/b]
采用给url传递参数的方式,下面的是载入module的url
Java代码
var s:String = "QueryStringModule.swf?" + "firstName=" +ti1.text + "&lastName=" + ti2.text;
在模块中
Java代码
var myPattern:RegExp = /.*\?/;
var s:String = this.loaderInfo.url.toString();
s = s.replace(myPattern, "");
var params:Array = s.split("&");
var keyStr:String;
var valueStr:String;
var paramObj:Object = params;
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
ta1.text += keyStr + ":" + valueStr + "\n";
}
for (var i:int = 0; i < params.length; i++) {
var tempA:Array = params[i].split("=");
if (tempA[0] == "firstName") {
o.firstName = tempA[1];
}
if (tempA[0] == "lastName") {
o.lastName = tempA[1];
}
}
if (StringUtil.trim(o.firstName) != "" && StringUtil.trim(o.lastName) != "") {
salutation = "Welcome " +o.firstName + " " + o.lastName + "!";
} else {
salutation = "Full name not entered."
} [/size]
用ModuleLoader载入的模块,application可以用child来访问module中的方法。比如在模块中有一个公共的objectMethod方法
Java代码
s = (m1.child as loaderModule).objectMethod();
如果使用ModuleManager,那么可以向下面这样:
Java代码
public var sm:Object=moduleInfo.factory.create() as loaderModule;
s = sm. objectMethod;
[b]模块访问Application[/b]
主要是使用parentApplication 属性:
// testProperty可以是application的一个属性或者方法,当然module的可移植性几乎就没有了
var aa:Object=this.parentApplication.testProperty;
[b]模块访问模块[/b]
有两个模块,可以通过Application来访问:
Java代码
<mx:ModuleLoader url="InterModule1.swf" id="m1"/>
<mx:ModuleLoader url="InterModule2.swf" id="m2"/>
s = parentApplication.m1.child. objectMethod ();
[b]给ModuleLoader传递参数[/b]
采用给url传递参数的方式,下面的是载入module的url
Java代码
var s:String = "QueryStringModule.swf?" + "firstName=" +ti1.text + "&lastName=" + ti2.text;
在模块中
Java代码
var myPattern:RegExp = /.*\?/;
var s:String = this.loaderInfo.url.toString();
s = s.replace(myPattern, "");
var params:Array = s.split("&");
var keyStr:String;
var valueStr:String;
var paramObj:Object = params;
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
ta1.text += keyStr + ":" + valueStr + "\n";
}
for (var i:int = 0; i < params.length; i++) {
var tempA:Array = params[i].split("=");
if (tempA[0] == "firstName") {
o.firstName = tempA[1];
}
if (tempA[0] == "lastName") {
o.lastName = tempA[1];
}
}
if (StringUtil.trim(o.firstName) != "" && StringUtil.trim(o.lastName) != "") {
salutation = "Welcome " +o.firstName + " " + o.lastName + "!";
} else {
salutation = "Full name not entered."
} [/size]