我已经创建了一个博客,在这个博客中,标记作为字符串从我的后端返回,但是当我返回一个带有正确换行符的字符串时,它的行为并不像预期的那样。
我正在使用ngx-降价来处理标记字符的解析,并使用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>它将它显示为一行,换行符物理上呈现为文本,如上面所示。
但是,在我的任何角组件中,我都可以将这个字符串作为属性写入该组件并返回它,并且它正确地呈现如下:
// 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>我还试图通过在主/tsconfig文件中设置ngPreserveWhitespaces来做到这一点。但是,我不认为这就是问题所在,因为我可以(在JS中本机) console.log返回的字符串(#1)和硬编码的字符串(#2),甚至我的该死的日志显示方式也不同(后者格式正确,前者只是字符串输出)。
我试图:
<br />似乎没有什么能安抚新的众神。
发布于 2018-12-16 13:34:53
解决方案
好的,我找到了我的解决方案,我现在将我的减价字符串存储如下:
"## This is a subheader\n This is a sentence"这里的不同之处是我将它存储在(一个Mongo )中的接口已经在字符串值周围放置了语音标记,所以现在它实际上如下所示:
""## This is a subheader\n This is a sentence""这对于MongoDB指南针来说比我所尝试的更奇怪。
从这一点出发,我能够正确地使用JSON.parse值(以前它试图用一个无效的JSON字符串来实现这个值,因为它没有用双标记括起来)。
现在,我在一个Property类的扩展中处理这个问题,每个类都称为HtmlProperty,在实例化时,它正确地解析了值。
https://stackoverflow.com/questions/53802458
复制相似问题