Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “角度标记分析”\";换行符问题_Javascript_Html_Angular_Markdown - Fatal编程技术网

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创建了一个票证,以重新设置字符串数据接口的样式,这样就不会使字符串看起来像实际有语音标记/双语音标记,而实际上它们没有。