flex类绑定
在flex项目开发过程中,如果一个类太大,可以分解为几个类。因为flex类之间的通信不方便,如果是mxml类型文件可以用parsley框架,但是as之间或者mxml和as时间通信是非常不方便的,如果业务逻辑处理都放在一个mxml里边或者主应用程序里边会导致庞大的类不但编译缓慢,运行的效率也会降低。当前所作的项目就是这样,我们采取了分解的办法,将一些业务逻辑和试图展示尽量分开。新建as文件,这样可以加速编译(mxml最终都会编译为as类型运行),具体实现框架如下: 1,需要分解的胖类FatA.mxml' <?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" ?<fx:Script> ????????? //ModelA为新类,在这个类可以获取到当前这个类的所有数据 ?????????? [Bindable] ????????? protected function injectionModelA(event:Event):void ????????????//需要分解到ModelA时,使用modelA.方法名即可 ?]]> ?<fx:Declarations> <!-- 引入配置文件--> <parsley:ContextBuilder config="com.huawei.wfm.scheduling.monitor.context.ApplicationContext"/> ?<parsley:FastInject injectionComplete="injectionModelA(event)" objectId="branchA"??? property="modelA"/> ?? </fx:Declarations> 2,??事件派发(绑定原理是parsley) ? [Bindable] 3,parsley配置框架 <?xml version="1.0" encoding="utf-8"?> ? ? 4,分支类A(B类似) package com.test.breakTest { ?[Bindable] ?? ? public var? fatAcopy:FatA= new FatA(); ??? ? //可以写逻辑代码,如果涉及到FatA.mxml视图改变时, ???????// 使用fatAcopy= FatA(view),视图会自动更新, ??????//? 引用胖类的变量使用fatAcopy.* ? } } 这样就可以减轻胖类的负担,其实质还是parsley框架,所以必须先引入parsley库文件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |