vue通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化
一、本節(jié)說(shuō)明
在使用插值表達(dá)式的時(shí)候,我們通常會(huì)有一種需求,就是將數(shù)據(jù)進(jìn)行二次的格式化。VUE的過(guò)濾器的實(shí)現(xiàn)參考了linux的shell命令的管道的實(shí)現(xiàn)原理:即上一個(gè)命令的輸出,是下一個(gè)命令的輸入。
所以過(guò)濾器可以串接使用:{{數(shù)據(jù) | 過(guò)濾器A | 過(guò)濾器B}}
除了在插值表達(dá)式中可以使用過(guò)濾器,在后文中將要學(xué)習(xí)到的v-bind指令中也可以使用過(guò)濾器。用法是一致的,到時(shí)候我們?cè)倏匆豢础?/p>
二、 怎么做
全局過(guò)濾器(定義一個(gè)用于做日期格式化的過(guò)濾器)
- 過(guò)濾器的第一個(gè)參數(shù)是固定的,就是輸入的數(shù)據(jù)。對(duì)于
{{message|date-format('yyyy-mm-dd')}}
而言,參數(shù)input=message,即“|”管道符之前的數(shù)據(jù)輸出,作為過(guò)濾器的輸入數(shù)據(jù)。 - 過(guò)濾器除了第一個(gè)參數(shù)固定是“管道輸出”,其他的參數(shù)根據(jù)需要自定義。在傳參的時(shí)候,從第二個(gè)參數(shù)開(kāi)始傳入即可
。{{message|date-format(message,'yyyy-mm-dd')}}
寫(xiě)法是錯(cuò)誤的。 - 其中l(wèi)et是ES6中定義變量的語(yǔ)法,類(lèi)似于var,但在塊作用域方面有不同之處。可以自行搜索深入學(xué)習(xí)
- 在上文代碼中使用了 template string語(yǔ)法,使用該語(yǔ)法可以有效的解決,字符串與變量繁瑣的拼接問(wèn)題。“`”這個(gè)字符是鍵盤(pán)在英文輸入法環(huán)境中,ESC下方的那個(gè)按鍵。
- 在template string語(yǔ)法中,變量用
${變量名}
括起來(lái)。這個(gè)用法也是參考了linux的shell腳本的實(shí)現(xiàn)。 - 使用ES6中的字符串新方法
String.prototype.padStart(maxLength, fillString='')
或String.prototype.padEnd(maxLength, fillString='')
來(lái)填充字符串;padStart(2,'0')
表示如果字符串長(zhǎng)度不足2位,則左補(bǔ)0,補(bǔ)足到長(zhǎng)度為2.
三、 效果
過(guò)濾器的使用方法:
{{message}} {{message|date-format('yyyy-mm-dd')}}
瀏覽器顯示的效果:
四、 深入:私有過(guò)濾器
除了可以定義全局的過(guò)濾器,我們還可以定義私有過(guò)濾器。但是過(guò)濾器這種代碼,類(lèi)似于工具類(lèi),我們一般定義為全局的,讓它在各個(gè)模塊、組件里面都可以使用。
注意:當(dāng)有局部和全局兩個(gè)名稱相同的過(guò)濾器時(shí)候,會(huì)以就近原則進(jìn)行調(diào)用,即:局部過(guò)濾器優(yōu)先于全局過(guò)濾器被調(diào)用!
以上就是vue通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化的詳細(xì)內(nèi)容,更多關(guān)于vue實(shí)現(xiàn)數(shù)據(jù)格式化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue判斷字符串(或數(shù)組)中是否包含某個(gè)元素的多種方法
在我們前端日常開(kāi)發(fā)中經(jīng)常會(huì)遇到判斷一個(gè)字符串中是否包含某個(gè)元素的需求,下面這篇文章主要給大家介紹了關(guān)于Vue判斷字符串(或數(shù)組)中是否包含某個(gè)元素的多種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09在vue中實(shí)現(xiàn)嵌套頁(yè)面(iframe)
這篇文章主要介紹了在vue中實(shí)現(xiàn)嵌套頁(yè)面(iframe),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vscode 插件開(kāi)發(fā) + vue的操作方法
這篇文章主要介紹了vscode 插件開(kāi)發(fā) + vue的操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06使用Vue動(dòng)態(tài)生成form表單的實(shí)例代碼
這篇文章主要介紹了使用Vue動(dòng)態(tài)生成form表單的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04vue/cli和vue版本對(duì)應(yīng)及安裝方式
這篇文章主要介紹了vue/cli和vue版本對(duì)應(yīng)及安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10基于Vue實(shí)現(xiàn)可以拖拽的樹(shù)形表格實(shí)例詳解
因業(yè)務(wù)需求,需要一個(gè)樹(shù)形表格,并且支持拖拽排序,任意未知插入,github搜了下,真不到合適的,大部分樹(shù)形表格都沒(méi)有拖拽功能,所以決定自己實(shí)現(xiàn)一個(gè)。這里分享一下實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下2018-10-10