? Soy bastante nuevo en angular, pero siento que esto es un poco loco.¿Es esto normal para el filtrado de AngularJs
Tengo múltiples colecciones que se muestran a través de ng-repeat en un ámbito de controlador. Hay un campo de entrada para cada lista para realizar una consulta simple. Estaba jugando con varios filtros en mi código y terminé colocando un console.log en mi función de filtro. Me di cuenta de que cada vez que se llamaba a mi función de filtro para una lista, se llamaba a todas las listas del alcance. Además, estaba llamando a la función de filtro dos veces cada vez. Entonces, con 3 colecciones, filtrar una de las listas llamaría a la función de filtro 6 veces.
Pensé que tal vez era solo mi filtro personalizado, así que lo probé con la función de filtro predeterminada. La misma historia Aquí está mi código:
https://dl.dropbox.com/u/905197/angular-filter-test.html
Ir a la consola y ver por sí mismo:/
¿Qué estoy haciendo mal aquí? Esto parece algo tan simple pero está haciendo tanto trabajo.
Interesante. Eso explica por qué todos ellos son llamados. Ahora, ¿por qué todos se llaman dos veces cada vez que un cambio ha sucedido? –
La primera llamada es de los observadores que están detectando el cambio. Como hay uno, deben volver a llamar para ver si hay cambios en las noticias porque un observador puede hacer cambios. Este proceso se repetirá hasta que no se encuentren cambios o el "bucle" alcance el número máximo de interacciones (creo que es 10). –
¿Cómo evitar esto? hago una llamada JSON, pero puede ser llamada hasta 10 veces simplemente haciendo clic en cualquier lugar. – Gino