flex 组件间事件的传递

Application下有两个组件A和B,A组件下有一个click事件,并对应有一个函数处理该事件。B组件有两个状态,我的目的是通过A的事件出发B状态的改变。要求写出实现... Application下有两个组件A和B,A组件下有一个click事件,并对应有一个函数处理该事件。B组件有两个状态,我的目的是通过A的事件出发B状态的改变。要求写出实现方法,最好用代码举例的方式,在这里先谢谢大家了,回答的好会酌情追加分的,谢谢!
这个函数是在A中么?改变B的状态 如果用currentState='',但是是b的状态应该用什么格式啊?

请问如何实现的,请教?
展开
 我来答
standlee2009
2010-01-20
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
哎,应该慢慢用qop思想。
如果我是楼主会把B状态的改变写成一个public 的方法,把a组件下的click事件也写成方法,把鼠标侦听全放进application,或者单独拿一类。

回到话题,你的事情可以用2次事件发送解决。新开一个自定义事件类:

1 package {
2 import flash.events.Event;
3 public class myEvent extends Event {
4 public static const CLIPA_CLICK:String="clipa_click";
public static const CLIPA_CLICKTOB:String="clipa_clicktob";
6 public function myEvent() {
7 super(CLIPA_CLICK);
8 }
15 }
16 }

a,application,b中都要导入myEvent

a类中click回调函数中加 this.dispatchEvent(new myEvent(CLIPA_CLICK));

在application类的构造函数或构造函数引用的方法中加
a.addEventListener(myEvent.CLIPA_CLICK,sentToB);
然后加个方法,注意b要是最上面声明的,不能在函数内声明
private function sentToB(e:myEvent):void {
b.dispatchEvent(new myEvent(CLIPA_CLICKTOB));
}
在b类中加 this.addEventListener(myEvent.CLIPA_CLICKTOB,callBackFunc);
---其中 callBackFunc就是你要执行的状态改变了。

楼主要尽快适应qop思想。
北京欢迎你老大
2010-01-28 · TA获得超过1037个赞
知道小有建树答主
回答量:776
采纳率:0%
帮助的人:683万
展开全部
你这个问题是flex相当基本的问题!
随便找本书!
里面就有例子!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式