Sim, isso mesmo! Para fazer Bindable com objetos dinamicos só por meio da
ObjectProxy.
Também é possível saber quando algum atributo é modificado, amarrando um
listerner para PropertyChangeEvent.

Só nao funciona o bindable se tentar acessar atributos de forma dinamica,
tipo:

var objP:ObjectProxy = new ObjectProxy();
var attr:String = "nome";


objP[attr] =  "Mario";  //mesma coisa q objP.nome

<label text="{objP['nome']}" />

dessa forma o bindable nao é capaz de detectar alteracoes, portanto se vc
pensar "Legal, vou criar atributos dinamicamente e bindá-los dinamicamente
tb" ... esquece :)


[]s






Em 14 de dezembro de 2010 19:16, Gilsones <[email protected]>escreveu:

> Consegui uma solução, pra quem precisar um dia fica a dica:
>
> import mx.utils.ObjectProxy;
>
> [Bindable]
> public var dados:ObjectProxy = new ObjectProxy({texto:"ORIGINAL"});
>
> protected function alteraDados():void{
>    dados.texto = "MODIFICADO";
>     dados.texto2 = "ADICIONADO"; // também adiciona !
>
> }
>
>
>
>
> On Dec 14, 1:10 pm, Clayton <[email protected]> wrote:
> > Bindable não afeta atributos criados dinamicamente.
> >
> > Em 14 de dezembro de 2010 12:49, Gilsones <[email protected]
> >escreveu:
> >
> >
> >
> > > Gente, masi uma duvida que tenho, tentei fazer e não consegui.
> > > No stage criei um Bindable Objetc e preciso "adicionar", ou pelomenos
> > > modificar dados nele.
> > > A princípio fiz assim:
> >
> > > [Bindable]
> > > public var dados:Object = {texto:"ORIGINAL"};
> >
> > > protected function alteraDados():void{
> > >    dados.texto = "MODIFICADO";
> > > }
> >
> > > e no MXML:
> >
> > > <s:TextInput text="{dados.texto}"/>
> > > <s:Button label="Alterar" click="alteraDados()"/>
> >
> > > Não dá erro nenhum, mas também não funciona, o valor do campo fica
> > > "ORIGINAL" e não consigo modificar pelo botão.
> > > OBS: Tenho que usar Bindable
> >
> > > Alguém pode me dar uma ajuda?
> >
> > > --
> > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > Para enviar uma mensagem, envie um e-mail para
> [email protected]
> > > Para sair da lista, envie um email em branco para
> > > [email protected]
> > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
> >
> > --
> > Clayton Marques Pereira
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Mario Junior
http://blog.mariojunior.com/
@mariojunior

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a