在项目中,需要渲染字符串文本,文本中需要通过\n换行, 如果直接渲染的话无法识别\n实现换行。
下面提供两种方式实现换行
1. 使用v-html渲染。
通过正则将字符串中\n转换成v-html可以识别的标签<br />,再通过v-html渲染。
<div v-html="text"></div> this.text = str.replace(/\n/g,'<br />') 2. 通过css实现
<div style="white-space: pre-wrap;">{{text}}</div> white-space属性值
| 值 | 描述 |
|---|---|
| normal | 默认。空白会被浏览器忽略。 |
| pre | 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。 |
| nowrap | 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。 |
| pre-wrap | 保留空白符序列,但是正常地进行换行。 |
| pre-line | 合并空白符序列,但是保留换行符。 |
| inherit | 规定应该从父元素继承white-space属性的值。 |