已获取到数据并在页面上显示,但是是一段文字效果,想问下,如何才能给文字换行?
HTML 代码
获取后端数据代码
根据分号转成数组;然后再循环数组,填充到标签中 比如 data return 里面定义个arr
let list='1.你好吗;2.你是谁;3.你在呢'
this.arr=list.split(';')
<span v-for='item of arr'>{{item}}</span>
即可
一整个字符串是换行是不可控的,达不到预期效果,只能像上面两位大佬说的,在js要先转成数组:
给你的jobsdetail添加个数组,拿到jobsdetail值后做个处理
....
this.jobsdetail=dataA
this.jobsdetail.PostDutiesArr=dataA.PostDuties.replace(/\s\d/g,v=>{return '$'+v}).split('$ ')
.....
页面上写成
....
<p v-for='it in item.PostDutiesArr'>{{it}}</p>
....
按 ; 号 分割完成业务需求就是了,
如果让后端给,估计格式这样~
["aaaaaaaaaaaaa", "bbbbbbbbbbbbbb", "ccccccccccccccc"]
看问题里面的展示,可以初步判断这是一个textarea框提交的东西,前端只需要保持提交时候的换行样式而已;
就是一个replace(/[\r\n]/g,'<br>')
的问题,这种事前端做不了?
干什么都让后端给你处理好,你做个纯展示,还想提升前端薪资?
就这题来说,VUE加个过滤器,多简单的事。
目测后台数据是textrea保存的数据,只需要正则匹配一下,加入换行和空格就好啦,很简单
textareaTo(str) {
let regs = new RegExp("\r", "g");
let reg = new RegExp("\n", "g");
let regSpace = new RegExp(" ", "g");
str = str.replace(reg, "<br/>");
str = str.replace(regs, "<br/>");
str = str.replace(regSpace, " ");
return str;
},
6 回答2.9k 阅读✓ 已解决
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
让后端返回给你带标签的形式:
<p>1.xxx<br/>2.xxx<br/></p>
要是前端处理的话我认为不合理。虽然前端也能处理。
首先后端给你的内容应该是动态的,也就是这段文本是动态生成的。那么这段文本的来源开始哪里??我猜测应该是类似从富文本编辑器中“用户”去编写完了传给后端的。传的时候应该是自带标签的。
不然要是写死的文本的话你前端自己写不就行了,不需要通过后端获取。
你说呢?!
ps: 有人说让后端搞成list,显然不合理。能不能从问题本源来回答。