Flex – [TurboBinding] metadata
De la mano de Elad Elrom’s nos llega [TurboBinding], una implementación extendida para el conocido data binding, cuyas capacidades superan con creces el [Bindable] actual y que viene incluido en la librería eladlib que podreis encontrar aquí.
La funcionalidades básicas que nos presenta su autor son:
two-way data binding
Importante funcionalidad, incluida en la próxima versión de Flex 4, que permite hacer bindeo bidireccional con las ventajas que esto supone, sobre todo para la recolección de datos de formularios para persistirlos en el modelo.
[TurboBinding(source="textInputOne.text", destination="textInputTwo.text", twoWay="true")]
callback functions
Imprescindible. TurboBinging nos permite registrar una función de callback para ser invocada cuando se produce cambios en el objeto bindado sin la necesidad de añadir listeners y changewatchers en nuestro código ni crear setters/getters para capturar los cambios.
[TurboBinding(source="textInputOne.text", destination="textInputTwo.text", twoWay="true", unwatchCounter=5)]
public function callBackFunction(newValue:String):void
{
trace(newValue);
}
remove binding
Funcionalidad muy importante para evitar memory leacks. La idea es poder eliminar el binding de un objeto en base a un contador que indica las veces que en el objeto bindado han habido cambios. Para explicarlo mejor, un ejemplo: imaginemos que tenemos un objeto bindable, que recibe los datos de un servidor. Los datos de ese objeto sólo se cargan una vez porque lo que una vez cargados el binding es innecesario. La idea sería poner el contador a 1 (unwatchCount=1), y cuando se hubieran cargado los dados, el binding se desregistraría automáticamente. Ideal para optimización.
[TurboBinding(source="object1", destination="object2", unwatchCounter=1)]
En definitiva, una implementación para Binding muy muy útil y que seguro que pronto muchos de nosotros utilizaremos en nuestros desarrollos.
fuente: blog elromdesign.com