首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行

【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行

作者头像
fruge365
发布2025-12-15 10:30:31
发布2025-12-15 10:30:31
1950
举报

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

我是直接这样渲染的,

代码语言:javascript
复制
//html
<p v-html='text'></p>

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

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

在这里插入图片描述
在这里插入图片描述

解决方法

1.在使用 v-html 时添加样式,white-space:pre-wrap ,让浏览器保留空白和换行符。

代码语言:javascript
复制
<p v-html="text" style="white-space:pre-wrap"></p>

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

代码语言:javascript
复制
<pre><p v-html="text"></p></pre>

3、正则替换 用正则表达式把 \n 替换成 这样 v-html 就可以识别

代码语言:javascript
复制
<p v-html="text.replace(/\n/g,'<br/>')"></p>

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档