如何在Angular 6中呈现转义html

如何在Angular 6中呈现转义html,angular,angular6,escaping,innerhtml,Angular,Angular6,Escaping,Innerhtml,我有一个字符串响应,其中包含转义的HTML,我正试图使用innerHTML在div中呈现它。无法渲染该表。相反,我将输出视为带有表标记的未缩放html:SunshineUnicorns。这有什么办法吗 在我的test.component.ts中 public testStringWithEscape = '<table width=583px><tr><td>Sunshine</td>

我有一个字符串响应,其中包含转义的HTML,我正试图使用innerHTML在div中呈现它。无法渲染该表。相反,我将输出视为带有表标记的未缩放html:
SunshineUnicorns
。这有什么办法吗

在我的test.component.ts中

public testStringWithEscape = '<table width=583px><tr><td>Sunshine</td><td>Unicorns</td></tr></table>';
在test.component.html中

<div [innerHtml]="testStringWithEscape"></div>


p.S:我知道我们有javascript/JS解决方案。但我特别想了解Angular4/6/8中是否有方法。

您可以使用此函数:

function htmlDecode(input){
    var e = document.createElement('div');
    e.innerHTML = input;
    return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}

有关用法,请参见。您可以使用此功能:

function htmlDecode(input){
    var e = document.createElement('div');
    e.innerHTML = input;
    return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}

有关用法,请参见创建管道如何

然后

<div [innerHtml]="testStringWithEscape|unescape"></div>

创建管道怎么样

然后

<div [innerHtml]="testStringWithEscape|unescape"></div>


您可以将字符串替换为html标记,因此,api响应是转义html,我们需要在应用程序中呈现响应。有几种方法可以做到这一点,只需在发布任何问题之前进行研究:)我正在寻找角度为6/8的特定解决方案。无论如何谢谢你!您可以将字符串替换为html标记,因此api响应是转义html,我们需要在应用程序中呈现响应。有几种方法可以做到这一点,只需在发布任何问题之前进行研究:)我正在寻找角度6/8特定的解决方案。无论如何谢谢你!工作起来很有魅力-谢谢!工作起来很有魅力-谢谢!