在vue中利用v-html按分号将文本换行的例子

最近在开发的时候遇到这样一个需求,需要将一段文本按照分号(有中文分号和英文分号)进行换行操作。

如下:

换行前:雷军,2457.66万,自然人股东;洪锋,169.51万,自然人股东;黎万强,10.33万,自然人股东;

换行后:

雷军,2457.66万,自然人股东;

洪锋,169.51万,自然人股东;

黎万强,10.33万,自然人股东;

显示的html:

<p class="bgnr-txt" v-html="change(content)">

js:

methods:{
 change:function(content){
  content = content.replace(/;/g,";</br>");
  content = content.replace(/;/g,";</br>");
  return content;
 }
},

也可以这样写:

methods:{
 change:function(content){
  var reg = /[;;]/g;
  content = content.replace(reg,"$&\r\n");
  return content;
 }
},

但是在写的过程中发现,控制台输出显示已经转换成功了,但是在页面上看到的效果是还没有转换成功。后来发现需要在页面上当前标签上加一个white-space: pre-wrap;的样式,如下:

<p class="bgnr-txt" style="white-space: pre-wrap;" v-html="change(content)">

至此问题得以解决。