Melhorias de performances manuais com novos recursos do AngularJs >=1.3 – Bind

image_pdfimage_print

Iremos tratar de um novo recurso que será disponibilizado na próxima versão do AngularJS, na versão 1.3 que é o one-way bind. Este recurso é interessante porque garante ao programador a capacidade de definir os campos que uma vez que receber o valor, não será vinculado ao ciclo de $watches do sistema. E a grande vantagem disto é justamente otimização.

Existem situações em que o programador não desejar aplicar a facilidade do bi-way direction databind. Este recurso ativado requer no AngularJs que o $watch correspondente a este campo seja reverificado em todo e qualquer ciclo de $digest(‘atualização’).

Ocorre que este ciclo, até a versão <1.3, ocorre com muita frequência. No caso de um input, ocorre após cada modificação de valor. Iremos num próximo artigo falar que este modelo de reexecução do ciclo de processamento por modificação em dados agora pode ser configurada no próprio componente que tem o ng-model, definindo quando o mesmo deve ser atualizado/processado.

Voltando ao recurso one-way bind, abaixo a sintaxe para sua utilização:

<!-- one-way bind. Só será atualizado 1 única vez. Após esta atualização, o AngularJs não fará nenhuma nova alteração no valor, independente do que ocorrer com o pessoa.nome -->
<b>{{::pessoa.nome}}</b><br>
<!-- O valor será alterado todas as vezes que pessoa.sobrenome for alterado -->
<b>{{pessoa.sobrenome}}</b><br>
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!