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(注意创建的路径)
------解决方案--------------------
------解决方案--------------------
下面是我的测试用例,可以通过并获得正确结果:
1.ModuleLoaderExam4.mxml
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(注意创建的路径)
------解决方案--------------------
------解决方案--------------------
下面是我的测试用例,可以通过并获得正确结果:
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>
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
如果还有问题,可以参考http://livedocs.adobe.com/flex/3/html/help.html?content=modular_7.html,就是你的程序。
------解决方案--------------------
如果你希望在module外部让module执行某个动作,最好不要直接调用module中的方法,而是在moduleLoader上发事件,通过事件去触发想要做的动作