在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)">
至此问题得以解决。