web-dev-qa-db-de.com

Angular 2: Wie kann HTML aus einer JSON-Antwort gerendert werden, ohne dass die Tags dem Benutzer angezeigt werden?

Edit: eine Klarstellung für alle, die nur den Titel überflogen haben, meine Frage bezieht sich auf Angular 2, nicht auf 1.


Ich habe eine Komponentenvorlage, die ungefähr so ​​aussieht:

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

Das Objekt ist so etwas wie:

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

Anstatt den Absatz wie folgt zu rendern:

Der Pfostenkörper

es zeigt an:

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

Da es so eine häufige Aufgabe ist, habe ich nach einer eingebauten Pfeife wie {{ post.body | safe }} habe aber keinen gesehen.

Gibt es eine einfache Möglichkeit, dies zum Laufen zu bringen? Gibt es einen sicheren Weg, um das zum Laufen zu bringen?

90
Josh

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

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