【发布时间】:2018-12-16 21:34:53
【问题描述】:
我创建了一个博客,其中 Markdown 从我的后端作为字符串返回,但是当我返回带有正确换行符的字符串时,它的行为与预期不符。
我正在使用ngx-markdown 来处理降价字符的解析,并使用ngPreserveWhitespaces 属性来确保它应该按预期运行。
例子:
// Example #1 Returned String
"## This is a subheader\n This is a sentence"
// Output
<h2>This is a subheader\n This is a sentence</h2>
它显示为单行,换行符物理呈现为文本,如上所述。
但是,在我的任何 Angular 组件中,我可以将这个相同的字符串写为组件上的属性并返回它,它会像这样正确呈现:
// Example #2 Hard Coded String
public correct: string = "## This is a subheader\n This is a sentence";
// Output
<h2>This is a subheader</h2>
<p>This is a sentence</p>
如前所述,我使用的降价解析器是这样实现的:
<markdown ngPreserveWhitespaces>{{content}}</markdown>
我还尝试通过在 main/tsconfig 文件中设置 ngPreserveWhitespaces 来做到这一点。但是我不认为这是问题所在,因为我可以(在 JS 中)console.log 我返回的字符串(#1)和硬编码字符串(#2),甚至我该死的日志显示不同(使用后者格式正确,前者只是将输出字符串化)。
我已经尝试过:
- JSON 以多种方式(以及不使用)对数据进行字符串化/解析
- 我已尝试使用正则表达式手动替换字符
- 我试图手动使用
<br /> - 我已经尝试了here 概述的有关此降价解析器处理空格的所有内容(我认为这不是问题)
似乎没有什么可以安抚换行之神。
【问题讨论】:
标签: javascript html angular markdown