我正在尝试创建一个输出原始html的Angular2自定义管道.我希望它只是将输入中的换行符转换为HTML换行符.如何从angular2管道输出原始HTML?
以下是我当前的管道定义,但它转义了我不想要的HTML:
import {Pipe, PipeTransform} from '@angular/core';
/*
* Converts newlines into html breaks
*/
@Pipe({ name: 'newline' })
export class NewlinePipe implements PipeTransform {
transform(value: string, args: string[]): any {
return value.replace(/(?:\r\n|\r|\n)/g, '<br />');
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:只是一个快速的说明,因为这个问题似乎获得了许多观点和活动,我将留下我接受的答案,即使对于我的具体例子,用例css可能是一个更好的选择,事实上我改变了什么.但我的实际问题是"如何从角度2管道输出原始html",而不是"什么是渲染换行符的最佳方式",这是接受的答案所显示的.
但请注意,如下面的评论中所述,如果您在接受的答案中使用该方法,则需要确保您不会呈现未经检查的用户输入,因为这可能会导致您遇到XSS漏洞.
angular ×1