Stefan Horochovec
Possuo 20 anos de experiência no desenvolvimento de soluções web. Nos últimos 10 anos tenho atuado como Arquiteto de Soluções auxiliando empresas a desenvolver projetos para nuvem com um grande foco em Java EE como tecnologia voltada ao backend, Angular e React voltada ao frontend e Flutter voltado ao desenvolvimento móvel. Com relação a plataformas na nuvem, atuo com projetos consumindo serviços da AWS, Azure, e GCP.

Flex 4 — Two-way data binding

Olá amigos

Neste post quero comentar uma nova feature do Flex SDK 4 que é o “two-way data binding”, mas o que é e no que isso pode nos auxiliar no dia a dia?

Mas afinal, o que é o Data Binding? É a ação de passar valores de um objeto para outro de forma automática. Quando um objeto sofre uma alteração em determinada propriedade dele, essa alteração é refletida em algum atributo de um objeto. Esse objeto pode ou não, vir a ser o mesmo objeto que sofreu a primeira alteração.

No Flex 3.x o Data Binding possibilitava o espelhamento de informação de um objeto para outro porém o inverso não ocorria de forma automática, dessa forma, éramos obrigados a criar outro Binding, só que desta vez, fazendo a operação de forma inversa, conforme segue código abaixo:

Obviamente que isso dificultava o trabalho do desenvolvedor em seu dia-a-dia, além de aumentar o consumo de memória das aplicações.
No Flex 4.0 a Adobe preparou uma ótima surpresa para auxiliar neste problema - "Two-way Data Binding".
Mas como ele funciona? Simples, através da declaração adicional twoWay no objeto Binding você pode definir se o binding deve enviar e receber alterações no atributo do objeto de origem.
Veja exemplo abaixo:
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx">
Simples, dessa forma já qualquer alteração feita no TextInput "campoB" será refletida no TextInput "campoA" e vice-versa.
Também é possível fazer a declaração conforme exemplo abaixo, utilizando o @ em conjunto com os {}:
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx">
Eu prefiro a primeira opção, utilizando a declaração do < fx:Binding > para um melhor entendimento e ordenação do código-fonte.
Um abraço e até a próxima.
Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *