propiedad mdn basis flex

mdn - ¿Qué hace la etiqueta Flex[Bindable]?



propiedad css flex (5)

Sentido . . . He visto casos en los que he vinculado componentes a un [Datablent] [Bindable]. Cuando actualicé los datos en el proveedor de datos, el componente no refleja el cambio de inmediato. ¿Tengo que hacer algo para actualizar los datos? ¿Qué evento hace que un componente actualice sus datos?


"Cuando una propiedad es el origen de una expresión de enlace de datos, Flex copia automáticamente el valor de la propiedad de origen a cualquier propiedad de destino cuando cambia la propiedad de origen. Para indicar a Flex que realice la copia, debe usar la etiqueta de metadatos [Bindable] para registrar la propiedad con Flex, y la propiedad de origen debe enviar un evento ".


Probablemente esto sea exagerado, pero si realmente está interesado en lo que ocurre bajo el capó cuando agrega la etiqueta [Bindable], le recomiendo que revise la sesión de Michael Labriola sobre buceo en Data Binding Waters de 360 ​​| Flex! San Jose. Es, de lejos, la presentación más profunda sobre este tema que encontrarás.

Para verlo, deberá descargar Adobe Media Player (que se ejecuta en Adobe Air). Si tiene problemas para suscribirse a las sesiones 360 | Flex en Adobe Media Player, siga los consejos de Ted Patrick en su publicación de blog .

Su presentación también está en Slideshare , pero no es ni mucho menos informativo o entretenido.


eso dependería de lo que hiciste con los datos. ¿aplicaste un filtro, si es así necesitarás actualizar los datos? hiciste un tipo, si es así necesitarás actualizar los datos. Es su dataProvider una matriz, si es así no es vinculante, utilice un ArrayCollection.

Danos un ejemplo de qué es lo que no se está actualizando y deberíamos poder brindar ayuda específica.


Si le compile.keep-generated-actionscript juguetear con el compilador de la línea de comando, puede usar el compile.keep-generated-actionscript para ver el efecto de agregar [Bindable] a una propiedad. Cree una clase simple actionscript llamada test y agregue una única propiedad de cadena enlazable y compílela así:

mxmlc -compiler.keep-generated-actionscript test.as

Esto creará una carpeta llamada "generada" que contiene todo el script de acción adicional, que en este caso sería un único archivo llamado (probablemente) "_test-binding-generated.as".

Debería poder ver a partir de esto que al agregar la etiqueta enlazable solo se crea un contenedor que implementa IEventDispatcher y despacha un evento cuando se llama al setter. Es esta envoltura que su componente estará escuchando.

Si su componente no refleja de inmediato el cambio en su pantalla, esto podría significar que tendrá que buscar en el código de actualización de ese componente. El control Tree es bastante notorio para este tipo de problema, principalmente porque la actualización puede ser costosa.


El Capítulo 7 de la guía del desarrollador trata exactamente con esto. Te sugiero que lo leas.

Extracto:

Aunque los objetos de datos brutos, como una matriz de cadenas u objetos, están envueltos en colecciones cuando los usa como el valor de una propiedad de proveedor de datos, usar colecciones explícitamente es una práctica mejor. El uso de colecciones asegura explícitamente la sincronización de los datos y proporciona herramientas de acceso y manipulación de datos más simples y sofisticadas que las disponibles cuando se utilizan objetos brutos directamente como proveedores de datos. Las colecciones también pueden proporcionar una interfaz consistente para acceder y administrar datos de diferentes tipos.

Ver también esto sobre el enlace de datos y matrices