/ / AngularJS hinterlässt Kommentare in HTML: Ist es möglich, sie zu entfernen? - anglejs, anglejs-Direktive

AngularJS lässt Kommentare in HTML: Ist es möglich, sie zu entfernen? - angularjs, angularjs-Anweisung

Weiß jemand, ob Sie die eckigen Kommentare entfernen können, die im HTML-Code hinterlassen werden?

Zum Beispiel: Wenn ich ngRepeat verwende und es keine zu wiederholenden Elemente gibt, lässt AngularJS dies:

<!-- ngRepeat: post in posts -->

Antworten:

34 für die Antwort № 1

Dieser Kommentar ist ein Ergebnis der Element Transklusion durchgeführt von ngRepeat. Sieht so aus passiert fast seit Anbeginn der Zeit (in eckigen Begriffen) und wird immer dann erstellt, wenn eine Direktive nach Elementtransklusion fragt.

Während Sie es sicherlich mit direkt auslöschen könntenHTML-Manipulation, das ist keine sichere Sache. Nachdem Sie die Quelle gelesen haben, schlägt es vor, dass dieser Kommentar benötigt wird, um mit der Kompilierung Ihres HTML-Codes fortzufahren, sobald das Original vorhanden ist ngRepeat Element wird entfernt. Zusätzlich, in v1.2.0, ngRepeat fügt weitere Kommentare hinzu die verwendet werden, um zu bestimmen, wo sich wiederholende Elemente platziert werden.

Zusammenfassen:

  • Angular lässt Sie dies nicht entfernen
  • Sie könnten es manuell tun, aber Sie würden höchstwahrscheinlich eckig brechen
  • Um die Kommentare zu wiederholen, scheint es eine seltsame Aufforderung zu sein, diesen Kommentar überhaupt zu entfernen - Abhängig von Ihrer Begründung gibt es möglicherweise bessere Optionen für das, was Sie erreichen möchten.

7 für die Antwort № 2

Führen Sie dies in Ihrer Entwicklungskonsole aus, um die Kommentare zu löschen:

$("*").contents().filter(function(){ return this.nodeType == 8;}).remove();

Keine richtige Lösung, aber praktisches Snippet beim Debuggen.


3 für die Antwort № 3
$compileProvider.debugInfoEnabled(false);

Aber es kann einige Plugins beschädigen, die Verweise auf Winkelkommentare haben.