我正在使用JSON检索一些文本数据,其中包括带有换行符格式的文本。我非常希望将这些换行符呈现给用户。
问题:如何“正确”/“推荐”的方法实现此目标?
我尝试过以下选项: - 普通绑定:
这确实会呈现
问题:如何“正确”/“推荐”的方法实现此目标?
我尝试过以下选项: - 普通绑定:
<p>${myText}</p>
:不呈现换行符。
- 使用 <pre>
标签:<p><pre>${myText}></pre></p>
:渲染出换行符,但存在已知的问题,如在某些浏览器中水平滚动和单词换行不理想等。
- 使用值转换器普通绑定,将换行符替换为<br>
标签:<p>${myText | textFormat}</p>
export class TextFormatValueConverter {
toView(value) {
return value.replace(new RegExp('\r?\n','g'), '<br>');
}
}
这确实会呈现
<br>
标签,但Aurelia绑定器会转义这些标签,并将它们显示为文本。使用上述转换器和innerHTML进行绑定:<p innerHTML.bind="myText | textFormat"></p>
:渲染正常,但我担心它可能容易受到攻击,因为文本来自不执行与Web使用相关的任何输入净化处理的旧系统。