O'Reilly logo

Flex 4 Cookbook by Garth Braithwaite, Joshua Noble, Todd Anderson, Marco Casario, Rich Tretola

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 13. Data Binding

The Flex Framework provides a robust structure for architecting component-driven applications. Within this powerful framework is an event-based system in which objects can subscribe to updates of property values on other objects by using data binding.

Data binding provides a convenient way to pass data between different layers within an application, by linking a source property to a destination property. Changes to properties on a destination object occur after an event is dispatched by the source object, notifying all destination objects of an update. With the property on a source object marked as bindable, other objects can subscribe to updates by assigning a destination property. To enable data binding on a property, you must define the [Bindable] metadata tag in one of three ways:

Before a class definition:
package com.oreilly.f4cb
{
    import flash.events.EventDispatcher;

    [Bindable]
    public class DataObject extends EventDispatcher{}
}

Adding a [Bindable] tag prior to a class definition establishes a binding expression for all readable and writable public attributes held on that class. Classes using binding must implement the IEventDispatcher interface because data binding is an event-based notification system for copying source properties to destination properties.

Before a public, protected, or private variable:
[Bindable] private var _lastName:String;
[Bindable] protected var _age:Number;
[Bindable] public var firstName:String;

Bindable variables marked as ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required