web-dev-qa-db-fra.com

Angular 2: Comment rendre le code HTML à partir d'une réponse JSON sans afficher les balises à l'utilisateur?

Edit: une clarification pour ceux qui ne font qu'écrémer le titre, ma question concerne Angular 2, pas 1.


J'ai un modèle de composant qui ressemble à ceci:

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

L'objet est quelque chose comme:

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

Au lieu de rendre le paragraphe comme suit:

Le corps de message

il affiche:

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

Comme c'est une tâche si commune, j'ai cherché un tuyau intégré comme {{ post.body | safe }} mais je n'en ai pas vu.

Y a-t-il un moyen facile de le faire fonctionner? Y a-t-il un moyen sûr de le faire fonctionner?

90
Josh

Dans Angular2, vous pouvez utiliser propriété pour accéder aux propriétés des éléments DOM, dans votre cas:

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