Flex怎么样实现各个mxml页面之间的来回转换,最好给个例子
1个回答
展开全部
不知道你的MXML各个页面是什么方式的。
如果是以Module方式的建立的MXML页面,可以使用_moduleInfo.load()
例:
假设我们有个testmod.mxml的Module
在编译完成后testmod.mxml会生产一个testmod.swf的文件
然后在需要调用这个test.mxml的mxml页面中创建一个click="addmod(1)"
private function addmod(modnum:int):void{
switch (modnum){
case 1:
if (_moduleInfo){
_moduleInfo.unload();
}
_moduleInfo=ModuleManager.getModule("model/testmod.swf");
break;
}
if (_moduleInfo){
_moduleInfo.addEventListener(ModuleEvent.PROGRESS,modloading);
_moduleInfo.addEventListener(ModuleEvent.READY,modready);
_moduleInfo.load();
}
}
private function modready(evt:ModuleEvent):void{
modarrbox.removeAllChildren();
modarrbox.addChild(_moduleInfo.factory.create() as DisplayObject);
}
还有方法是以Component方式的mxml文件
那就直接 addChild 方式加载就可以了
还有你可以为每个页面创建独立的项目,每个MXML文件都会有一个HTML文件,使用openURL来打开
如果是以Module方式的建立的MXML页面,可以使用_moduleInfo.load()
例:
假设我们有个testmod.mxml的Module
在编译完成后testmod.mxml会生产一个testmod.swf的文件
然后在需要调用这个test.mxml的mxml页面中创建一个click="addmod(1)"
private function addmod(modnum:int):void{
switch (modnum){
case 1:
if (_moduleInfo){
_moduleInfo.unload();
}
_moduleInfo=ModuleManager.getModule("model/testmod.swf");
break;
}
if (_moduleInfo){
_moduleInfo.addEventListener(ModuleEvent.PROGRESS,modloading);
_moduleInfo.addEventListener(ModuleEvent.READY,modready);
_moduleInfo.load();
}
}
private function modready(evt:ModuleEvent):void{
modarrbox.removeAllChildren();
modarrbox.addChild(_moduleInfo.factory.create() as DisplayObject);
}
还有方法是以Component方式的mxml文件
那就直接 addChild 方式加载就可以了
还有你可以为每个页面创建独立的项目,每个MXML文件都会有一个HTML文件,使用openURL来打开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询