Czy ktoś wie, czy można usunąć komentarze kątowe pozostawione w kodzie HTML?
Na przykład: Jeśli użyję ngRepeat i nie ma żadnych elementów do powtórzenia, AngularJS pozostawi to:
<!-- ngRepeat: post in posts -->
Odpowiedzi:
34 dla odpowiedzi nr 1Ten komentarz jest efektem element transkluzja wykonana przez ngRepeat
. Wygląda na to, że tak się działo niemal od zarania dziejów (w ujęciu kątowym) i będzie tworzony za każdym razem, gdy dyrektywa będzie wymagać transkluzji elementów.
Chociaż z pewnością można to wymazać bezpośrednioManipulowanie HTML-em nie jest rzeczą bezpieczną. Po przeczytaniu źródła sugerujemy, że ten komentarz jest potrzebny, aby kontynuować kompilację kodu HTML, gdy oryginał ngRepeat
element zostanie usunięty. Dodatkowo w wersji 1.2.0 ngRepeat
dodaje więcej komentarzy które służą do określenia miejsca umieszczenia powtarzających się elementów.
Podsumować:
- Angular nie pozwala ci tego usunąć
- Możesz to zrobić ręcznie, ale najprawdopodobniej złamałbyś kąt
Powtarzając komentarze, wydaje się dziwną prośbą o usunięcie tego komentarza w pierwszej kolejności- w zależności od powodów, dla których to robisz, mogą istnieć lepsze opcje osiągnięcia tego, co chcesz.
7 dla odpowiedzi nr 2
Uruchom to w konsoli deweloperskiej, aby zaatakować komentarze:
$("*").contents().filter(function(){ return this.nodeType == 8;}).remove();
Nie jest to właściwa poprawka, ale przydatny fragment podczas debugowania.
3 dla odpowiedzi nr 3
$compileProvider.debugInfoEnabled(false);
Ale może zepsuć niektóre wtyczki, które zawierają odniesienia do komentarzy kątowych.