ropa meaning ltd guadalajara careers cantante flex

meaning - La función del conjunto Flex no se llama



flex ropa (2)

De acuerdo, he estado golpeando mi cabeza contra la pared con este. Tengo la siguiente función de conjunto en Flex.

public function set periodChangeAmount(value:int):void { _PeriodChangeAmount = value; refreshStartEndDates(); }

Si configuro periodChangeAmount en -1 o 1, se desencadena el método set. Si lo ajusto a cero, no se dispara. ¿Cual es el trato? ¿Alguien sabe por qué no se llamará cuando lo ajuste a cero? Si cambio el tipo de objeto a un número o incluso a un objeto, todavía no funciona como se esperaba. Cualquier ayuda sería muy apreciada.


¿Pusiste un rastro en el colocador para asegurarte de que no se llama?

¿Es periodChangeAmount una Bindable lectura y escritura Bindable ? En ese caso, flex internamente llama al getter para asegurarse de que el valor que se va a establecer no es el valor existente. Si el valor actual de la propiedad (tal como lo devuelve el getter) es el mismo que el valor que se va a establecer, no se llama al setter.

private var privateVar:Boolean = false; [Bindable] public function set readWriteProp(value:Boolean):void { trace("set called with " + value + " current is " + privateVar); privateVar = value; } public function get readWriteProp():Boolean { trace("get called : " + privateVar); return privateVar; } //... a.readWriteProp = true; a.readWriteProp = true;

Salida trazada:

llamarse: falso
el conjunto llamado con la corriente verdadera es falso
llamarse: verdadero

Tenga en cuenta que el getter fue llamado dos veces, pero el setter fue llamado solo una vez. En la segunda asignación, dado que el valor actual y el valor a establecer son los mismos (verdadero), no se llama al colocador.

Creo que el equipo flex dev lo hizo de esta manera para evitar la redundancia en el enlace.


Para resolver el problema anterior, puede agregar un evento enlazable y enviar ese evento antes de configurar las propiedades como se muestra a continuación.

private var privateVar:Boolean = false; [Bindable( "bindableEventProperty" )] public function set readWriteProp(value:Boolean):void { trace("set called with " + value + " current is " + privateVar); privateVar = value; } public function get readWriteProp():Boolean { trace("get called : " + privateVar); return privateVar; } dispatchEvent( new Event( "bindableEventProperty" )); a.readWriteProp = true; a.readWriteProp = true;

Este evento se asegura de que se llame al método de establecimiento de la propiedad aunque el valor de propiedad sea el mismo.