Wie wird ein Literal {{in Angular 2 angezeigt?

8

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 {{.

brauche

Der Fehler in der Browserkonsole (Chrome) ist:

%Vor%     
philipschlump 01.06.2016, 20:29
quelle

2 Antworten

10

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

    
Khaled Al-Ansari 01.06.2016, 21:06
quelle
1

ngNonBindable - ist nicht immer eine Option, Sie müssen extra DOM-Element verwenden und es gibt eigentlich einen besseren Weg

Nach RC1

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.

RC1

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üssen

UPD:

Einer der Gründe, warum ngNonBindable eine schlechte Wahl ist.

Dieses Beispiel wird auf verschiedene Arten unterbrochen.

%Vor%

Wenn Sie InterpolationRegexp verwenden, wird alles gut funktionieren (und es ist ein DIV weniger)

%Vor%     
Ai_boy 02.06.2016 00:30
quelle

Tags und Links