Frage Angular 2: Wie rendern Sie HTML aus einer JSON-Antwort, ohne die Tags dem Benutzer anzuzeigen? [Duplikat]


Diese Frage hat hier bereits eine Antwort:

  • Angular HTML-Bindung                     15 Antworten                 

Bearbeiten: Eine Klarstellung für jeden, der nur den Titel überflogen hat, geht es um meine Frage Eckig 2, nicht 1.


Ich habe eine Komponentenvorlage, die in etwa so aussieht:

<div>{{ post.body }}</div>

Das Objekt ist etwas wie:

{
    "title": "Some Title",
    "body": "<p>The <em>post body</em>.</p>"
}

Anstatt den Absatz wie folgt zu rendern:

Das Postkörper

es zeigt an:

"<p>The <em>post body</em>.</p>"

Da es so eine gewöhnliche Aufgabe ist, habe ich nach einer eingebauten Pfeife gesucht {{ post.body | safe }} aber habe keinen gesehen.

Gibt es einen einfachen Weg, um das zu schaffen? Gibt es einen sicheren Weg, um das zu erreichen?


75
2018-01-21 23:01


Ursprung


Antworten:


In Angular2 können Sie verwenden Eigentumsbindung um auf Eigenschaften von DOM-Elementen zuzugreifen, in Ihrem Fall:

<div [innerHTML]="post.body"></div>

173
2018-01-22 01:04