为了账号安全,请及时绑定邮箱和手机立即绑定

如下内容,请问如何实现的,请教?

如下内容,请问如何实现的,请教?

小怪兽爱吃肉 2022-08-06 07:03:20
Application下有两个组件A和B,A组件下有一个click事件,并对应有一个函数处理该事件。B组件有两个状态,我的目的是通过A的事件出发B状态的改变。要求写出实现方法,最好用代码举例的方式,在这里先谢谢大家了!这个函数是在A中么?改变B的状态 如果用currentState='',但是是b的状态应该用什么格式啊?
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

如果我是楼主会把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就是你要执行的状态改变了。


查看完整回答
反对 回复 2022-08-08
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

你这个问题是flex相当基本的问题!

查看完整回答
反对 回复 2022-08-08
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信