不依赖于Flex Framework的绑定(flight-framework)

不依赖于Flex Framework的绑定(flight-framework)

项目上界面上与内存里的属性显示一直不一致,而且在做同步的时候,经常会出现不同步的情况下,而且自己定义的事件一直没有时间去彻底的整一下。今天在网上论坛里逛逛,看到一个Binding框架,试用了一下,还是蛮好用的。既然好用,那以后我们的项目就用它吧。方便又高效。
项目地址:http://code.google.com/p/flight-framework/

下面是使用代码实例:
类定义:

package  com.coolexp
package com.coolexp {

import flash.events.EventDispatcher;

import flight.events.PropertyEvent;

public class UserInfo extends EventDispatcher

{

public function UserInfo() { }

private var _age:int; public function get age():int

{

return _age;

 }

 public function set age(value:int):void

 {

var oldValue:Number = _age; _age = value; //you need to dispatch an event to indicate the binding source has changed PropertyEvent.dispatchChange(this, "age", oldValue, _age);

 }

} }

使用实例:

package{

 import com.coolexp.UserInfo;

 import flash.display.Sprite;

import flash.events.MouseEvent;

import flash.events.TimerEvent;

import flash.text.TextField;

import flash.text.TextFormat;

import flash.utils.Timer;

import flight.binding.Bind;

import flight.binding.Binding;

import flight.events.PropertyEvent;

 public class TestBinding extends Sprite

{

public var txt:TextField;

 private var sourceBinding:Binding;

 public var userInfo:UserInfo;

 public function TestBinding()

 {

 txt = new TextField();

this.addChild(txt);

 userInfo = new UserInfo();

Bind.addBinding(this,"txt.text",this,"userInfo.age");

 var timer:Timer = new Timer(100);

timer.addEventListener(TimerEvent.TIMER, timer_timerHandler);

timer.start();

 }

protected function timer_timerHandler(event:TimerEvent):void

{ // TODO Auto-generated method stub userInfo.

age++;

}

 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值