FLEX中基于MVC的Cairngorm事件处理与命令执行全流程详解
FLEX 基于 MVC 的框架 Cairngorm 开发经验与实例讲解:
- View层操作(如点击、拖拽)产生事件。
- 事件类编写:继承
CairngormEvent
,用于派发事件。 - 参数传递:创建
ValueObject
类(继承 Cairngorm 中的 valueobject 类),将参数存入其中的公共变量。as3 var historypassvalue:ValueObject_J1000 = new ValueObject_J1000(); historypassvalue.caozuo = caozuo;
- 事件实例化与派发:
as3 var event:MyEvent = new MyEvent(historypassvalue); event.dispatch();
- FrontController监听事件:通过
addCommand
注册监听器,设置在主程序中实现全局监听。 - Command处理逻辑:自定义
MyCommand
类实现ICommand
接口,重写execute(event:CairngormEvent)
方法。 - 注意:
event
为父类类型,不能直接访问子类中 ValueObject 的属性。- 解决方法:强制类型转换。
as3 var evt:MyEvent = MyEvent(event); var caozuo:String = evt.vo.caozuo;
- 成功获取参数后进行具体业务处理。
小结:通过事件派发 + 参数绑定 + 命令监听的组合方式,实现了 MVC 模式中模块间的解耦与协作,是初学者学习 FLEX设计模式 的极佳资源。
34.9KB
文件大小:
评论区