Javascript “角度标记分析”\";换行符问题
我已经创建了一个博客,其中标记作为一个字符串从后端返回,但是当我返回一个具有正确换行符的字符串时,它的行为并不符合预期 我正在使用来处理标记字符的解析,并使用Javascript “角度标记分析”\";换行符问题,javascript,html,angular,markdown,Javascript,Html,Angular,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 sen
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>
//示例#1返回的字符串
“这是一个副标题\n这是一个句子”
//输出
这是一个副标题\n这是一个句子
它将其显示为一行,换行符物理呈现为文本,如上所述
但是,在我的任何角度组件中,我可以将这个字符串作为组件上的属性写入并返回它,它正确地呈现如下:
// 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>
//示例#2硬编码字符串
公共更正:string=“##这是一个副标题\n这是一个句子”;
//输出
这是一个副标题
这是一个句子
如前所述,我使用的markdown解析器的实现如下:
<markdown ngPreserveWhitespaces>{{content}}</markdown>
{{content}
我还试图通过在主/tsconfig文件中设置ngPreserveWhitespaces
来实现这一点。但是我不相信这是问题所在,因为我可以(在JS中)在console.log中记录返回的字符串(#1)和硬编码字符串(#2),甚至我该死的日志也会显示不同的内容(后者格式正确,前者只是字符串化输出)
我曾尝试:
- JSON以多种方式(以及不使用多种方式)对数据进行字符串化/解析
- 我尝试使用正则表达式手动替换字符
- 我试图手动使用
- 我已经尝试了关于这个减价解析器处理空白的所有概述(我不认为这是问题所在)
"## This is a subheader\n This is a sentence"
这里的区别是我存储在(Mongo db)中的接口已经在字符串值周围放置了speechmarks,所以现在它实际上看起来像这样:
""## This is a subheader\n This is a sentence""
MongoDB指南针比我尝试的更奇怪
由此,我能够正确地解析JSON.parse值(之前它试图使用一个无效的JSON字符串进行解析,因为它没有包含在双speechmarks中)
我现在在一个
属性
类的扩展中处理这个问题,这个类被称为HtmlProperty
,当实例化时,正确解析值。我使用MongoDB Compass创建了一个票证,以重新设置字符串数据接口的样式,这样就不会使字符串看起来像实际有语音标记/双语音标记,而实际上它们没有。