javascript - Angular 6 使用管道将字符串转换为 Html

标签 javascript angular typescript angular6

我的输入字符串是

  html:string="<a role="button" class=" fas fa-trash-alt fa-1x" title="Remove Link" href="#"></a>"

我希望将其转换为原始 html

管道:

import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser'
@Pipe({
  name: 'htmldecoder'
})
export class HtmldecoderPipe implements PipeTransform {
  constructor(private sanitized: DomSanitizer) { }
  transform(value) {
    return this.sanitized.bypassSecurityTrustHtml(value);
  }

}

HTML 代码:

<div>
    <div [innerHtml]="html | htmldecoder">
    </div>
</div>

进入UI的输出是

<a role="button" class="fas fa-trash-alt fa-1x" title="Remove Link" href="#"></a>

预期的输出应该是按钮

最佳答案

在您的代码中进行以下更改,它会起作用,代码非常简单,易于 self 解释

应用程序组件.ts

  html = `html:string="&lt;a role="button" class=" fas fa-trash-alt fa-1x" title="Remove Link" href="#"&gt;aditya&lt;/a&gt;"`;

管道

  transform(value) {
    value = value.substring(13, value.length-1);
     var doc = new DOMParser().parseFromString(value, "text/html");
     const value123 = doc.documentElement.textContent;
    return this.sanitized.bypassSecurityTrustHtml(value123);
  }

app.component.html

<div [innerHTML]="html | htmldecoder">

关于javascript - Angular 6 使用管道将字符串转换为 Html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62170801/

相关文章:

javascript - 使用 Facebook OAuth 2.0 - 如何获取访问 token ?

javascript - 返回 $.getJSON 函数的结果

angular - 如何订阅组件中的全局事件(例如按键)

angular - 如何拥有一个可以容纳任何组件的侧边栏?

angular - 如何在 Angular 6 中实现按价格范围过滤?

javascript - 向对消息使用react的人发送 DM - Discord JS

javascript - 如何使用 Typescript 映射进行 ElasticSearch 响应?

reactjs - React 中的 typescript : Props type check is not working

Typescript 和 Pluck 类型

javascript - jQuery:将元素移动到另一个元素并再次返回使该元素不可点击