filtreleme angularjs için bu normal midir, ancak bu tür deli gibi hissediyorum.Ben açısal yeni hemen hemen olduğum
Birden koleksiyonları bir kontrolör kapsamında ng-tekrarı yoluyla görüntülenen var. Basit bir sorgulama yapmak için her listenin bir giriş alanı var. Kodumda çeşitli filtreler ile uğraşıyordum ve filtre işlevimde bir console.log'u yerleştirdim. Filtre fonksiyonumun her defasında bir liste için çağrıldığını fark ettim, bu kapsamdaki tüm listeler için çağrıldı. Ayrıca, filtre işlevini her seferinde iki kez çağırıyordu. Yani 3 koleksiyon ile, listelerin birini filtrelemek filtre işlevini 6 kez çağırırdı.
Bunun kendi özel filtre sandım o yüzden varsayılan filtre fonksiyonunu bunu denedik. Aynı hikaye. Burada yanlış yapıyorum/:
https://dl.dropbox.com/u/905197/angular-filter-test.html
konsoluna gidin ve kendiniz görün: İşte benim kod? Bu çok basit bir şey gibi görünüyor ama bu çok iş yapıyor. herhangi bir değişiklik varsa görmek için tüm filtreleri aramak gerekiyor böylece
İlginç. Bu, neden hepsinin çağrıldığını açıklıyor. Şimdi, neden her değiştiğinde her biri iki kere çağrılıyor? –
İlk arama, değişikliği tespit eden gözlemcilerden geliyor. Çünkü o zaman bir haberci değişiklik yapabileceğinden haber değişip değişmediğini görmek için tekrar çağrılmaları gerekiyor. Bu işlem hiçbir değişiklik bulunana veya “döngü” maksimum etkileşim sayısına ulaşana kadar tekrarlanacaktır (bence bu 10'dur). –
Bu nasıl önlenir? json araması yapıyorum ama sadece herhangi bir yere tıklayarak 10 kata kadar çağrılabilir. – Gino