How to render string with html tags in Angular 4+?

Shams Nahid picture Shams Nahid · Feb 27, 2018 · Viewed 131.4k times · Source

In my angular 4 app, I have a string like

comment: string;
comment = "<p><em><strong>abc</strong></em></p>";

When I serve this text in my html, like

{{comment}}

Then it displays:

<p><em><strong>abc</strong></em></p>

But I need to display the text "abc" in bold and italic form, like abc

How can I do this?

Answer

Haifeng Zhang picture Haifeng Zhang · Feb 27, 2018

Use one way flow syntax property binding:

<div [innerHTML]="comment"></div>

From angular docs: "Angular recognizes the value as unsafe and automatically sanitizes it, which removes the <script> tag but keeps safe content such as the <b> element."