StarlingMVC 几个标签的含义


  1. [Dispatcher]标签用于注入StarlingMVC全局的eventDispatcher对象。无参数。被注入的变量,其名称无所谓。在标有该标签的变量上派发事件,将是全局事件,在另外一个地方,可以使用同样标有该标签的变量进行监听。
  2. [EventHandler]标签用于接收事件监听,支持属性data及Event的属性。StarlingMVC将在全局eventDispatcher与root上监听事件,如果有type派发,被标注标签的函数将被触发。函数的参数可以event,也可以是由event传递的数据(在标签属性列表中定义)。这是IOC(反转控制)的一个很好例子,通常添加事件监听需要有target,有handler,然后addEventListner,在这里不需要,只需要提供将要触发的函数及触发条件就可以了。这是IOC框架最迷人的功能之一。
  3. [Juggler]标签用于向变量注入Starling.juggler,无参数,被注入名称亦无所谓。使用这个标签,意味着开发者不用把Starling.juggler做为Bean添加进来,也可以拿它注入到变量中。其实对它的注入可有可无,因为开发者自己可以直接使用Starling.jugger。
  4. [PostConstruct]标签用于代替构造器,所有Bean均会得到执行。使用StarlingMVC,类的构造器便不方便使用了,因为有些被注入的变量在此时是访问不到的,可以使用[PostConstruct]标签标注另一个方法代替构造器。
  5. [PreDestroy]标签用于方法在对象销毁之前调用,用于释放资源。无参数。
  6. [ViewAdded]标签用于标注当某个视图被添加进显示列表之后执行的方法。可以添加到任何类里,推荐添加到ViewMediator类。被标注的方法必须有一个view:SomeViewClass的参数。StarlingMVC将拿view参数的类型与被添加的view的类型做比较,如果相同,方法才会被执行。这是StarlingMVC最精巧,同时也是开销最大的特征之一。
  7. [ViewRemoved]标签用法与[ViewAdded]类似。
  8. [Inject]标签用于将变量绑定到数据源,如果数据源对象不是全局的,即在添加Bean时指定了ID,那么在这里需指定一个source与id对应。[Inject]标签充许绑定到模型的变量上,例如:
    [Inject(source="playerModel.score",bind="true",auto="false")]

    被绑定者也可以是setter。当bind属性为true时,源对象数据更新时,这里亦会更新;当设置auto属性为false时,只有在数据更新并显式调用bindings.invalidate时,这里才会更新。

  9. [Bindings]标签用于注入StarlingMVC中的全局Bindings对象。Bindings对象用于维持所有被Inject的变量的同步,当源对象发生变化时,判断将它们更新过去。在StarlingMVC的设计中,Bindings实现了starling.animation.IAnimatable接口。
  10. [Execute]标签用于标注将会某特定事件触发执行的方法。可以有参数,参数的定义与[EventHandler]相同。StarlingMVC对[Execute]的解析并不是立即执行的。作者举例例如,在config StringMVC初期,开发者添加一个这样的bean:
  11. new Command(DoSomethingEvent.DO_SOMETHING, DoSomethingCommand)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值