我需要从清理过的管道中获取200个字符。
现在我的代码看起来像:
<div class="description mt-3" [innerHTML]="body | sanitizeHtml">
</div>
清理管道代码:
transform(content: any): any {
return this.sanitizer.bypassSecurityTrustHtml(content);
}
因此,我需要将从第一个管道(清理数据)获取的数据传递到另一个管道,如下所示:
<div class="description mt-3" [innerHTML]="body | sanitizeHtml | getFirst20Ch">
</div>
但是当数据来自sanitizeHtml时,它没有字符串类型,并且在从getFirst20Ch管道进行sanitazing后我无法获得20个字符
答案 0 :(得分:0)
bypassSecurityTrustHtml
没有按照您的期望行事。
仅在内存中创建元素并添加HTML,然后使用textContent
或innerText
getter获取文本内容。
let div = document.createElement('div');
div.innerHTML = '<div><p><span>a</span>b</span><b>c</b><span>c</span></p></div>';
this.content = div.textContent;
并用
显示<div>{{content | getFirst20Ch}}</div>
您当然可以将其实现为管道。