Vue過濾器

假設(shè)場景:將長度單位厘米轉(zhuǎn)化為米率寡。

若傳來的數(shù)據(jù)如圖所示职烧,要將其中的數(shù)字轉(zhuǎn)化為米捧挺。那在沒有過濾器的情況下虑绵,需要我們循環(huán) lengthArr 數(shù)組,將原數(shù)據(jù)轉(zhuǎn)化為具體需要的數(shù)據(jù)闽烙。而 Vue 提供了過濾器翅睛,可以讓這問題得以更好的解決。

過濾器(filter)的作用

  1. 在不改變 data 的情況下黑竞,只改變渲染的結(jié)果捕发,得到渲染后的結(jié)果。
  2. 在處理前端數(shù)據(jù)格式時很魂,保持響應(yīng)的干凈扎酷。

使用方式

<!-- 在雙花括號中 -->
{{ message | capitalize }}

<!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>

自定義過濾器

定義過濾器有兩種方式。第一種是全局過濾器遏匆,它可以直接在vue對象上使用filter方法注冊過濾器法挨,這種全局注冊的過濾器在任何一個組件內(nèi)都可以使用。第二種則是組件內(nèi)部的過濾器幅聘,注冊組件內(nèi)部過濾器則只能在當(dāng)前組件內(nèi)使用凡纳。當(dāng)全局過濾器和局部過濾器重名時,會采用局部過濾器帝蒿。

全局定義

html部分

{{ message | capitalize  }} // capitalize 為過濾器的名字

js部分

Vue.filter('capitalize'荐糜,function(data){
    ....
})

1、在 Vue.filter('capitalize'葛超,function(data){}) 中狞尔,第一個參數(shù)是過濾器的名字,第二個參數(shù)是過濾器的功能函數(shù)巩掺。

2偏序、在功能函數(shù) function(data){} 中,參數(shù)可以有多個胖替,第一個參數(shù)是傳入的要過濾數(shù)據(jù)研儒,即原數(shù)據(jù)豫缨。第二個參數(shù)開始就是html調(diào)用過濾器的時候傳入的參數(shù)。

局部定義

html部分

{{ message | capitalize }} // capitalize 為過濾器的名字

js部分

filters:{
    capitalize:function (data){
        ...         
    }   
}

例子:
html代碼

<div class="demo">
    <p v-for="item in lengthArr">{{item.millimeter}}mm ==> {{item.millimeter | meterChange}}</p>
</div>

js代碼

Vue.filter('meterChange', function(val, unite) {
    val = val/1000 || 0;
        if(val) {
            unite = 'm';
            return val + unite
        }
    return
});
new Vue({
    el: ".demo",
        data: {
            lengthArr: [
                {millimeter: 10000},
                {millimeter: 1000},
                {millimeter: 100},
            ],
        }
})

效果:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末端朵,一起剝皮案震驚了整個濱河市好芭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冲呢,老刑警劉巖舍败,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異敬拓,居然都是意外死亡邻薯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門乘凸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厕诡,“玉大人,你說我怎么就攤上這事营勤×橄樱” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵葛作,是天一觀的道長寿羞。 經(jīng)常有香客問我,道長赂蠢,這世上最難降的妖魔是什么稠曼? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮客年,結(jié)果婚禮上霞幅,老公的妹妹穿的比我還像新娘。我一直安慰自己量瓜,他們只是感情好司恳,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绍傲,像睡著了一般扔傅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烫饼,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天猎塞,我揣著相機與錄音,去河邊找鬼杠纵。 笑死荠耽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的比藻。 我是一名探鬼主播铝量,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼倘屹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了慢叨?” 一聲冷哼從身側(cè)響起纽匙,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拍谐,沒想到半個月后烛缔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡轩拨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年践瓷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片气嫁。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖够坐,靈堂內(nèi)的尸體忽然破棺而出寸宵,到底是詐尸還是另有隱情,我是刑警寧澤元咙,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布梯影,位于F島的核電站,受9級特大地震影響庶香,放射性物質(zhì)發(fā)生泄漏甲棍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一赶掖、第九天 我趴在偏房一處隱蔽的房頂上張望感猛。 院中可真熱鬧,春花似錦奢赂、人聲如沸陪白。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咱士。三九已至,卻和暖如春轧钓,著一層夾襖步出監(jiān)牢的瞬間序厉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工毕箍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弛房,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓而柑,卻偏偏與公主長得像庭再,于是被迫代替她去往敵國和親捞奕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359