最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項(xiàng)目中字符串換行顯示方式(返回的數(shù)據(jù)包含‘\r\n’字符)

 更新時(shí)間:2023年04月23日 17:15:12   作者:start_sea  
這篇文章主要介紹了vue項(xiàng)目中字符串換行顯示方式(返回的數(shù)據(jù)包含‘\r\n’字符),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue項(xiàng)目中字符串換行顯示

在vue項(xiàng)目中,請求后端接口獲取到的數(shù)據(jù)是一整條字符串,如:‘1、和加速度和環(huán)境,\r\n2、技術(shù)的進(jìn)步是否,\r\n3、講述的就是不對’

(數(shù)據(jù)是隨意的,各位大佬別糾結(jié)(~~))

這種格式的文本數(shù)據(jù)我們希望在界面中展示是換行的, 如下:

  • 1、和加速度和環(huán)境
  • 2、技術(shù)的進(jìn)步是否
  • 3、講述的就是不對

但是在vue項(xiàng)目中,數(shù)據(jù)渲染時(shí)無法識別換行符‘\r\n’

處理方法

先定義一個(gè)字符串?dāng)?shù)據(jù)

var str = '1、和加速度和環(huán)境,\r\n2、技術(shù)的進(jìn)步是否,\r\n3、講述的就是不對'

1、拿到數(shù)據(jù)先對字符串?dāng)?shù)據(jù)進(jìn)行處理,使用replace()函數(shù)或split().join()方式處理數(shù)據(jù); 

replace()函數(shù)處理方式:

str.replace(/\\r\\n/g, '<br/>')

一波解釋:正則全局檢索‘\r\n’字符,用‘br’標(biāo)簽替換(用br標(biāo)簽替換是有原因的,下面解釋) 

split()函數(shù)處理方式:

split(/\\r\\n/g).join('<br/>')

用split()函數(shù)處理,是先檢索‘\r\n’字符切割成數(shù)組,我們拿到的數(shù)據(jù)是arr格式的,arr[0]就是‘1、和加速度和環(huán)境,’,因此需要用join()重新拼接并插入‘br’標(biāo)簽字符。

2、將str數(shù)據(jù)渲染到組件中:

拿到數(shù)據(jù):

var data = str.replace(/\\r\\n/g, '<br/>')

渲染到組件中:

<div v-html="data"></div>

強(qiáng)調(diào)!強(qiáng)調(diào)!強(qiáng)調(diào)!這里要用v-html!

踩坑記錄(記得抽空瞄一眼,很重要?。?nbsp;

1、關(guān)于正則判斷的踩坑:

用正則判定時(shí)踩了幾個(gè)坑,用replace()函數(shù)處理時(shí),一種寫法是str.replace(/\r\n/g, ‘’),這種寫法在Google瀏覽器控制臺中編譯的時(shí)候是生效的,但是在vue項(xiàng)目中運(yùn)行時(shí)無效。

因此,需要用比較嚴(yán)謹(jǐn)?shù)恼齽t方式,字符串中的\是特殊字符,檢索是需要轉(zhuǎn)義,在正則中需要轉(zhuǎn)義的字段要在前面加上斜杠

所以最后需要寫成**/\r\n/g**的格式,/g是正則全局判斷的意思。

2、使用br標(biāo)簽替換的原因:

后端返回的字符串?dāng)?shù)據(jù),換行符是**\r\n**,在前端渲染時(shí),會發(fā)現(xiàn),直接將字符串渲染時(shí)是無法識別的,有些道友會發(fā)現(xiàn),\n也是可以換行的,比如在標(biāo)簽中直接渲染字符串。但是在vue項(xiàng)目中,在標(biāo)簽中使用 {{}} 渲染變量數(shù)據(jù)時(shí)是無法識別換行的。

同樣的,用br標(biāo)簽替換之后使用 {{}} 渲染變量數(shù)據(jù)也是無法識別的,因此要用v-html方法替換 {{}} 方法渲染。

vue字符串換行問題及vue路由跳轉(zhuǎn)傳參

vue 中 用 {{}} 進(jìn)行數(shù)據(jù)綁定的時(shí)候,如果想讓字符串換行是不會生效,

解決辦法,不用上邊的方式進(jìn)行數(shù)據(jù)綁定,用v-html標(biāo)簽代替{{}}

//table中columns的列對象中引入插槽knTags
columns: [
?? ?{
?? ??? ?title:'標(biāo)題',
?? ??? ?align:"center",
?? ??? ?dataIndex: 'backTag',//渲染的字段
?? ??? ?scopedSlots: { customRender: 'knTags' },
?? ??? ?ellipsis: true //字?jǐn)?shù)超出顯示省略號
?? ?},
?? ?{
?? ?...
?? ?}]
//knTags插槽中自定義展現(xiàn)的數(shù)據(jù)
<template slot="knTags" slot-scope="text,record">
//text為表格渲染的字段backTag的數(shù)據(jù)
//record為動態(tài)傳給table渲染的的json本條所有數(shù)據(jù)
<a v-if="record.remarkContent.trim()==''" v-html="text"></a>
<a v-else :title="'摘要:<br>'+record.remarkContent.trim()">{{text}}</a>
</template>

//假設(shè)text的數(shù)據(jù)
record.text=“第一行<br/>第二行”;

輸出結(jié)果:
------------------------------------------------
“第一行<br/>第二行”
------------------------------------------------
第一行
第二行
------------------------------------------------

解決方法 加入 路由a 跳轉(zhuǎn)到 路由b:

?data () {
? ? return {
? ? ? url: {
? ? ? ?? ? ?lookCaseUrl:"/aaaa/bbbb/ccccc",//項(xiàng)目接口地址
? ? ? ? ?editKnUrl:"aaaa-bbbbb-cccccc"http://框架頁面地址
? ? ? ?}
? ? ?}
? ? }

//a頁面路由跳轉(zhuǎn)b傳參
that.$router.push({
?? ?name:that.url.editKnUrl,
?? ?params:
?? ??? ?{idMedias : info.file.id,
?? ? ?? ? keys ? ? : res
?? ? }
});

//b頁面的方法中接受路由傳過來的參數(shù)
this.$route.params.idMedias?
this.$route.params.keys

項(xiàng)目開發(fā)過程中遇到的問題! 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Vue使用el-table實(shí)現(xiàn)自適應(yīng)列寬

    Vue使用el-table實(shí)現(xiàn)自適應(yīng)列寬

    這篇文章主要為大家詳細(xì)介紹了Vue使用el-table實(shí)現(xiàn)自適應(yīng)列寬,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • echarts鼠標(biāo)覆蓋高亮顯示節(jié)點(diǎn)及關(guān)系名稱詳解

    echarts鼠標(biāo)覆蓋高亮顯示節(jié)點(diǎn)及關(guān)系名稱詳解

    下面小編就為大家分享一篇echarts鼠標(biāo)覆蓋高亮顯示節(jié)點(diǎn)及關(guān)系名稱詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Element中el-tabs左右滑動動畫的實(shí)現(xiàn)

    Element中el-tabs左右滑動動畫的實(shí)現(xiàn)

    本篇博客將詳細(xì)介紹如何在使用 Vue 以及 Element UI 時(shí),實(shí)現(xiàn)一個(gè)具有左右滑動效果的 tab 切換動畫,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 淺談vue-cli5關(guān)于yarn的一個(gè)小坑

    淺談vue-cli5關(guān)于yarn的一個(gè)小坑

    本文主要介紹了vue-cli5關(guān)于yarn的一個(gè)小坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 使用ElementUI中el-upload上傳文件轉(zhuǎn)base64格式

    使用ElementUI中el-upload上傳文件轉(zhuǎn)base64格式

    這篇文章主要介紹了使用ElementUI中el-upload上傳文件轉(zhuǎn)base64格式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 在vue中實(shí)現(xiàn)表單驗(yàn)證碼與滑動驗(yàn)證功能的代碼詳解

    在vue中實(shí)現(xiàn)表單驗(yàn)證碼與滑動驗(yàn)證功能的代碼詳解

    在Web應(yīng)用程序中,表單驗(yàn)證碼和滑動驗(yàn)證是常見的安全機(jī)制,用于防止惡意攻擊和機(jī)器人攻擊,本文將介紹如何使用Vue和vue-verify-code庫來實(shí)現(xiàn)表單驗(yàn)證碼和滑動驗(yàn)證功能,需要的朋友可以參考下
    2023-06-06
  • vue2 拖動排序 vuedraggable組件的實(shí)現(xiàn)

    vue2 拖動排序 vuedraggable組件的實(shí)現(xiàn)

    這篇文章主要介紹了vue2 拖動排序 vuedraggable組件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Vue2.0 實(shí)現(xiàn)移動端圖片上傳功能

    Vue2.0 實(shí)現(xiàn)移動端圖片上傳功能

    本文主要介紹VUE2.0圖片上傳功能的實(shí)現(xiàn)。原理是通過js控制和input標(biāo)簽的方式完成這一效果,無需加載其他組件。具體實(shí)例大家大家參考下本文
    2018-05-05
  • vant中的toast層級改變操作

    vant中的toast層級改變操作

    這篇文章主要介紹了vant中的toast層級改變操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vuex中的State使用介紹

    Vuex中的State使用介紹

    今天小編就為大家分享一篇關(guān)于Vuex中的State使用介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論

调兵山市| 崇礼县| 财经| 绩溪县| 扎赉特旗| 辽中县| 钟祥市| 石台县| 石门县| 汝城县| 绩溪县| 天长市| 石家庄市| 盐池县| 禄丰县| 汝阳县| 新沂市| 玛纳斯县| 满洲里市| 景泰县| 东光县| 华池县| 瑞昌市| 阿拉善左旗| 城固县| 怀远县| 客服| 永城市| 手游| 新昌县| 米脂县| 阜宁县| 合川市| 张家口市| 新乡市| 水城县| 科技| 农安县| 莱阳市| 同德县| 屏东市|