最近开发vue2 项目接口返回的是类似于这样的数据我是第一行的哦n我是第二行的哦

我是直接这样渲染的,

//html
<p v-html='text'></p>

//渲染
this.text = "我是第一行的哦n我是第二行的哦"

结果却是不如意,变成了下面这样

在这里插入图片描述

解决方法

1.在使用 vhtml添加样式,whitespace:prewrap ,让浏览器保留空白和换行符。

<p v-html="text" style="white-space:pre-wrap"></p>

2、用 pre 标签包裹
被包围在 pre 标签中的文本通常会保留空格和换行符。

<pre><p v-html="text"></p></pre>

3、正则替换
正则表达式把 n 替换
这样 vhtml可以识别

<p v-html="text.replace(/n/g,'<br/>')"></p>

我是用第二种方法解决的。

总结以防下次遇到参考文章https://www.jianshu.com/p/3719cd89c0bd

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注