javascript - angularjs apelarea filtrului de două ori cu ng-repeat
Sunt nou în angularjs și încerc să învăț conceptul de filtre. Dar în cazul meu angularjs apelează filtrul de două ori. Mă așteptam ca filtrul să ruleze o singură dată, dar rulează de două ori. Nu înțeleg de ce se întâmplă acest lucru..
iată plunker-ul meu...
Răspuns #1
Dacă nu înțeleg greșit întrebarea ta, aceasta este aceeași întrebare ca aici
Angularjs folosește o abordare de tip 'dirty-check', așa că trebuie să apeleze toate filtrele pentru a vedea dacă există vreo schimbare. După aceasta, detectează că a avut loc o schimbare într-o variabilă (cea pe care ai tastat-o) și apoi execută din nou toate filtrele pentru a detecta dacă mai există alte schimbări.
Pentru o înțelegere mai clară, această întrebare de pe StackOverflow va fi explicată în mai mult detaliu de un expert în AngularJS
Iată un alt exemplu care apelează filtrul de două ori la fel
Primul apel este de la observatorii care detectează schimbarea. Deoarece există unul, atunci trebuie să fie chemați din nou pentru a vedea dacă există noi schimbări, deoarece un observator poate face schimbări.