最近开发vue2 项目 ,接口返回的是类似于这样的数据:我是第一行的哦\n我是第二行的哦
我是直接这样渲染的,
//html
<p v-html='text'></p>
//渲染值
this.text = "我是第一行的哦\n我是第二行的哦"
但结果却是不如意,变成了下面这样
解决方法
1.在使用 v-html 时添加样式,white-space:pre-wrap ,让浏览器保留空白和换行符。
<p v-html="text" style="white-space:pre-wrap"></p>
2、用 pre 标签包裹
被包围在 pre 标签中的文本通常会保留空格和换行符。
<pre><p v-html="text"></p></pre>
3、正则替换
用正则表达式把 \n 替换成
这样 v-html 就可以识别
<p v-html="text.replace(/\n/g,'<br/>')"></p>
我是用第二种方法解决的。文章来源:https://www.toymoban.com/news/detail-623008.html
总结以防下次遇到,参考文章:https://www.jianshu.com/p/3719cd89c0bd文章来源地址https://www.toymoban.com/news/detail-623008.html
到了这里,关于【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!