Flex多窗口之间的通信

  在实际的开发过程中我们经常会要使用到窗口管理,更多的时候是多级窗口。这时窗口间的通信相信会成为一个不小的问题,这时就会要求考虑去设计一个窗口管理器专门用于管理这些操作。下面就这个窗口管理的设计说说我的个人的思路。

  首先你的所有窗口应该能统一的管理到这个窗口管理器中,然后在下次需要通信的时候可以去直接取出已经存储的窗口资源。先看代码:

  

               for each(var win:Window in windowArr)
			{
				if(getQualifiedClassName(win) == "com.hero::HeroHireList")
				{
					(win as Object).setData();
				}
			}

首先我来讲下以上代码的具体参数及其作用:

  windowArr就是存储了所有窗口的一个缓存,以后你需要这个东西可以直接从这里面去取,只要你有模块加入进去,他就应该有包含。

  com.hero::HeroHireList是一个命名空间,通过Flex的反射机制可以获取到具体的实体。具体的反射我们使用getQualifiedClassName来实现。

  setData是HeroHireList这个模块中的一个公共接口,注意请保证该接口为公有的,否则此处无法访问。

  你应该知道了这个地方的处理很方便的就帮你解决了窗口之间的相互通信问题,你想要去调用某个变量或者方法都可以直接处理,其次你也可以对此方法进行拓展。具体还请自己研究。

 

转载于:https://www.cnblogs.com/jacku/articles/1848181.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值