首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

FLEX4中怎么Application调用module中的方法,

2012-09-21 
FLEX4中如何Application调用module中的方法,在线等啊!FLEX4中如何Application调用module中的方法,在线等啊

FLEX4中如何Application调用module中的方法,在线等啊!
FLEX4中如何Application调用module中的方法,在线等啊!
ModuleLoaderExam4.mxml
<mx:ModuleLoader url="example/ModuleExam4.swf" id="m1" ready="getTitle()"/>
private function getTitle():void {
  s = (m1.child as ModuleExam4).getModTitle();
  }

ModuleExam4.mxml
public function getModTitle():String {
  return "Child Module 1";
  }
 说明:
(m1.child as ModuleExam4).getModTitle(),表示将m1中的属性child对应的对象强制转换为ModuleExam4类,再调用这个对象的方法。

上述方法一直都不能编译通过,求教啊!

[解决办法]
你检查一下,ModuleExam4.swf是生成在了哪个路径下面,很可能是在bin-debug根下面,而你的路径又是写的example/ModuleExam4.swf,造成ModuleLoader读不到Module。
[解决办法]
上面加载Module的方法没问题,就是这样写的!

估计你ModuleExam4.mxml建错了,不是一个Module

右键工程new - MXML Module(注意创建的路径)
[解决办法]

探讨
你检查一下,ModuleExam4.swf是生成在了哪个路径下面,很可能是在bin-debug根下面,而你的路径又是写的example/ModuleExam4.swf,造成ModuleLoader读不到Module。

[解决办法]
下面是我的测试用例,可以通过并获得正确结果:

1.ModuleLoaderExam4.mxml
XML code
<?xml version="1.0"?><!-- ParentApplication.mxml --><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">    <mx:Script>        <![CDATA[            import example.ModuleExam4;            [Bindable]            private var s:String;            private function getTitle():void            {                s=(m1.child as ModuleExam4).getModTitle();            }        ]]>    </mx:Script>    <mx:Label id="l1"              text="{s}"/>    <mx:ModuleLoader url="example/ModuleExam4.swf"                     id="m1"                     ready="getTitle()"/></mx:Application>
[解决办法]
探讨

引用:
你检查一下,ModuleExam4.swf是生成在了哪个路径下面,很可能是在bin-debug根下面,而你的路径又是写的example/ModuleExam4.swf,造成ModuleLoader读不到Module。

。。。。。

编译都通不过,还谈什么路径问题的!

[解决办法]
探讨

上面加载Module的方法没问题,就是这样写的!

估计你ModuleExam4.mxml建错了,不是一个Module

右键工程new - MXML Module(注意创建的路径)

[解决办法]
探讨
FLEX4中如何Application调用module中的方法,在线等啊!
ModuleLoaderExam4.mxml
<mx:ModuleLoader url="example/ModuleExam4.swf" id="m1" ready="getTitle()"/>

[解决办法]
如果还有问题,可以参考http://livedocs.adobe.com/flex/3/html/help.html?content=modular_7.html,就是你的程序。
[解决办法]
如果你希望在module外部让module执行某个动作,最好不要直接调用module中的方法,而是在moduleLoader上发事件,通过事件去触发想要做的动作

热点排行