- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
parsley学习笔记
如果你的同一个接口有多个实现,你需要使用 id (只有在属性上可用)进行注入:
[Inject(id=mainLoginService)] public var loginService:LoginService;
发送和接收消息
使用 Parsley 2 你可以使用 metadat 标签来配置发送方和接收方.
对于发送方可能只需在类声明处使用一个 [ManagedEvents]标 签列出这个类发送出的哪些事件需要被托管:
[Event(name=loginSuccess,type=com.bookstore.events.LoginEvent)] [Event(name=loginFailed,type=com.bookstore.events.LoginEvent)] [Event(name=stateChange,type=flash.events.Event)] [ManagedEvents(loginSuccess,loginFailure)] public class LoginServiceImpl extends EventDispatcher implements LoginService { [...] private function handleLoginResult (user:User) : void { dispatchEvent(new LoginEvent(loginSuccess, user)); } }
对于接收方,你可以使用[MessageHandler] 标签来通知关注某个类型的消息:
[MessageHandler] public function login (event:LoginEvent) : void {
如果你在同一个事件类中有几个不同的消息,你可以用事件类型进行区分:
[MessageHandler(selector=loginSuccess)] public function login (event:LoginEvent) : void {
依赖是根据类型注入的,这确保了系统的安全性,你也无需处理整个系统中事件类型的常量唯一性问题.关于接收方还有 [MessageBinding] 或者 [MessageInterceptor]等标签. 这会在 5 Messaging进 行介绍.
另外,因为这个模块叫做消息系统而不是事件系统, 你可以使用任何类作为一个消息, 不单单是那些继承 flash.events.Event的类.
元数据配置(Metadata Configuration)
大多数情况下,元数据是够用的,组件上的元数据标签与容器创建的对象具有相同的效果。
mx:Panel xmlns:mx=/2006/mxml addedToStage=dispatchEvent(new Event(configureView, true)); mx:Script ![CDATA[ import com.bookstore.events.*; import com.bookstore.model.*; [Bindable] private var user:User; [Inject] public var model:LoginPanelPM; [MessageHandler] public function handleLogin (event:LoginEvent) : void { this.user = event.user; } ]] /mx:Script mx:text text=Current User: {}/ !-- some more components ... -- /mx:Panel
一些开发人员
文档评论(0)