溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

詳解vue如何通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化

發(fā)布時(shí)間:2020-07-21 09:04:43 來(lái)源:億速云 閱讀:214 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

小編這次要給大家分享的是詳解vue如何通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

一、本節(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ò)濾器)

詳解vue如何通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化

  • 過(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,但在塊作用域方面有不同之處??梢宰孕兴阉魃钊雽W(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')}}

瀏覽器顯示的效果:

詳解vue如何通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化

四、 深入:私有過(guò)濾器

除了可以定義全局的過(guò)濾器,我們還可以定義私有過(guò)濾器。但是過(guò)濾器這種代碼,類(lèi)似于工具類(lèi),我們一般定義為全局的,讓它在各個(gè)模塊、組件里面都可以使用。

詳解vue如何通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化

注意:當(dāng)有局部和全局兩個(gè)名稱(chēng)相同的過(guò)濾器時(shí)候,會(huì)以就近原則進(jìn)行調(diào)用,即:局部過(guò)濾器優(yōu)先于全局過(guò)濾器被調(diào)用!

看完這篇關(guān)于詳解vue如何通過(guò)過(guò)濾器實(shí)現(xiàn)數(shù)據(jù)格式化的文章,如果覺(jué)得文章內(nèi)容寫(xiě)得不錯(cuò)的話,可以把它分享出去給更多人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI