【问题标题】:How to render string with html tags in Angular 4+? [duplicate]如何在 Angular 4+ 中使用 html 标签呈现字符串? [复制]
【发布时间】:2018-08-07 08:50:15
【问题描述】:

在我的 Angular 4 应用程序中,我有一个类似的字符串

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

当我在我的 html 中提供此文本时,例如

{{comment}}

然后显示:

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

但我需要以粗体和斜体形式显示文本“abc”,例如 abc

我该怎么做?

【问题讨论】:

    标签: html angular rendering


    【解决方案1】:

    使用单向流语法属性绑定

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

    From angular docs:“Angular 将值识别为不安全并自动对其进行清理,这将删除 &lt;script&gt; 标记,但保留安全内容,例如 &lt;b&gt; 元素。”

    【讨论】:

    • 知道了。它有效。
    • 在 Angular 前端,使用 [innerHTML] 可能会导致安全错误,因此应该被禁止。 angular.io/guide/security.
    • @HongNguyen 据我了解,我认为您分享的那篇文章解释说使用 [innerHTML] 更安全。检查现场示例。
    • 谢谢,但是当我的 HTML 被渲染时,生成的字符串 html 显示为字符串,而不是 Input 或类似的东西。我该怎么办?
    • 来自 Angular docs 的仅供参考:“Angular 将值 ([innerHtml]) 识别为不安全并自动对其进行清理,从而删除
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 2015-06-24
    • 2013-07-23
    • 2019-08-30
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    相关资源
    最近更新 更多