javascript - angularjs chamando filtro duas vezes com ng-repeat
Sou novo em angularjs e estou a tentar aprender o conceito de filtros. Mas, no meu caso, o angularjs está a chamar o filtro duas vezes. Eu esperava que o filtro fosse executado apenas uma vez, mas ele está a executar-se duas vezes. Não consigo perceber por que isto está a acontecer..
aqui está o meu plunker...
Resposta #1
Se eu não interpretar mal a sua pergunta, esta é a mesma pergunta que aqui
Angularjs usa uma abordagem de 'verificação suja', por isso precisa chamar todos os filtros para ver se existe alguma alteração. Depois disso, detecta que há uma alteração numa variável (a que você digitou) e então executa todos os filtros novamente para detectar se há outras alterações.
Para uma compreensão mais clara, esta questão no Stackoverflow será explicada em mais detalhe por um especialista em AngularJS
Aqui está outro plunker a chamar o filtro duas vezes
A primeira chamada é dos observadores que estão a detetar a mudança. Porque existe uma, eles precisam de ser chamados novamente para ver se há novas mudanças, porque um observador pode fazer alterações.