AngularJS gibt HTML in doppelter geschweifter Klammernotation wieder

8

Ich habe JSON-Variablen, die HTML enthalten.

Auf diese Weise: {{source.HTML}} Angular zeigt &lt; und &gt; anstelle von < und > .

Was kann ich tun, damit Angular den tatsächlichen HTML-Code rendert?



UPDATE:
Das ist mein Controller:

%Vor%

In meinem HTML kann ich dann verwenden:

%Vor%     
Bob van Luijt 11.02.2015, 00:58
quelle

1 Antwort

19

Möchten Sie show den HTML-Code (wie <b>Hello</b> ) oder den HTML-Code (wie Hello ) wiedergeben?

  • Wenn Sie es zeigen möchten, ist die geschweifte Klammer ausreichend. Wenn der HTML-Code jedoch HTML-Entities (wie &lt;stuff ) enthält, müssen Sie ihn manuell entschlüsseln, siehe diese SO-Frage .

  • Wenn Sie es rendern möchten, müssen Sie die Anweisung ng-bind-html anstelle der curcly-Klammer verwenden (was, FYI, eine Verknüpfung zur Anweisung ng-bind ist). Sie müssen Angular mitteilen, dass der in diese Direktive eingegebene Inhalt sicher ist, indem Sie $sce.trustAsHtml verwenden.

Siehe Beispiel für beide Fälle unten:

%Vor% %Vor%
    
floribon 11.02.2015, 01:05
quelle

Tags und Links