Ich habe eine Vorlage in Angular2 rc 1, wo ich ein Stück Code aus einer anderen Sprache anzeigen muss. Diese Sprache hat {{in it.
%Vor%Wie bekomme ich den Vorlagenprozessor, um {{als eine literale Zeichenfolge anstelle des Beginns eines Vorlagenausdrucks zu behandeln? Das Problem tritt auf am {{define "bob"}}, wo ich ein Literal {{.
braucheDer Fehler in der Browserkonsole (Chrome) ist:
%Vor% Verwenden Sie ngNonBindable
Beispiel:
%Vor%AKTUALISIEREN
Das obige gilt in Anuglar 2, jetzt in Angular 4 gibt es eine Klasse namens DomSanitizer
, das zum Einfügen von Code in HTML als Text verwendet werden kann.
Sie können diese Funktion bottle von micronyks's Antwort
ngNonBindable - ist nicht immer eine Option, Sie müssen extra DOM-Element verwenden und es gibt eigentlich einen besseren Weg
In der nächsten Version wird es eine Möglichkeit geben, die Interpolation regexp Ссылка anzupassen. Es ist bereits verschmolzen und wird in der nächsten Version verfügbar sein.
Jetzt können Sie das tun. Gehen Sie zu main.ts (oder einer anderen Datei, in der Sie den Bootstrap ausführen) und fügen Sie diese Datei hinzu
%Vor%Jetzt können Sie Ihre Vorlagen so schreiben
%Vor%Beachten Sie, dass Sie Ihren Code jetzt nicht in NgNonBindable
einfügen müssenUPD:
Dieses Beispiel wird auf verschiedene Arten unterbrochen.
%Vor%Wenn Sie InterpolationRegexp verwenden, wird alles gut funktionieren (und es ist ein DIV weniger)
%Vor%Tags und Links angular