AngularJS'de bağlamaların bağlantısını kesmenin doğru yolu nedir?AngularJS - bellek sızıntılarını önlemek için bağlamaları kaldırın
Veri bağlayıcı yapmak için angularjs kullanan bir bileşeni yükleyen hiçbiri açısal olmayan bir uygulamam var. Bir noktada bileşeni yok etmek istiyorum ve bellek sızıntısı olmadığından emin olmak istiyorum. DOM'ın tüm bölümlerindeki tüm etkinlik dinleyicilerini kaldırmak için açısal olarak nasıl söylerim?
$(node).remove()
Bu hile yapar mı, yoksa açılışı temizlenmesi gereken bellekte başka şeyler yapar mı? Anı kaçaklarının açısal olarak önlenmesi ile ilgili diğer ipuçları takdir edilecektir.
Hızlı yanıt için teşekkürler! –
, dokümanlar, kapsamı ve DOM öğesini açacak bir jQuery olayı olduğunu ancak örnek bir kullanım durumu sunmadığını söylüyor. Elemanların kapsamını bulmak, yok etme yöntemini çağırmak ve sonra jquery remove() kullanmak mı? Bu işlevsellik açısal içinde tam bir işlev olarak mevcut değil garip görünüyor! – sidonaldson
window.leak için bir kapsam atarsanız ve sonra bir konsolu günlüğe kaydeder. $ On ('destroy', ...) imhası görürsünüz, ancak hala sızıntı kapsamına erişebilirsiniz. –