這篇文章給大家分享的是有關(guān)filter怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)三元,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):135182197921、自定義的過濾器,當(dāng)然這包括注冊(cè)在全局和注冊(cè)在實(shí)例化的內(nèi)部
(1)注冊(cè)在全局的fliter
(1)全局方法 Vue.filter() 注冊(cè)一個(gè)自定義過濾器,必須放在Vue實(shí)例化前面
(2) 過濾器函數(shù)始終以表達(dá)式的值作為第一個(gè)參數(shù)。帶引號(hào)的參數(shù)視為字符串,而不帶引號(hào)的參數(shù)按表達(dá)式計(jì)算
(3)可以設(shè)置兩個(gè)過濾器參數(shù),前提是這兩個(gè)過濾器處理的不沖突
(4)用戶從input輸入的數(shù)據(jù)在回傳到model之前也可以先處理
vue自定義過濾器
{{message | sum}}
{{message | cal 10 20}}
{{message | sum | currency }}
filter是默認(rèn)會(huì)傳入當(dāng)前的item,而且filter的第一個(gè)參數(shù)默認(rèn)就是當(dāng)前的item。
(2)注冊(cè)在實(shí)例化內(nèi)部
上面的例子直接注冊(cè)在Vue全局上面,其他不用這個(gè)過濾器的實(shí)例也會(huì)被迫接受,其實(shí)過濾器可以注冊(cè)在實(shí)例內(nèi)部,僅在使用它的實(shí)例里面注冊(cè)
上面的程序改寫為:
vue自定義過濾器
{{message | sum}}
{{message | cal 10 20}}
{{message | sum | currency }}
2、使用js中的迭代函數(shù)filter
(1)實(shí)例一原文
var app5 = new Vue({ el: '#app5', data: { shoppingList: [ "Milk", "Donuts", "Cookies", "Chocolate", "Peanut Butter", "Pepto Bismol", "Pepto Bismol (Chocolate flavor)", "Pepto Bismol (Cookie flavor)" ], key: "" }, computed: { filterShoppingList: function () { // `this` points to the vm instance var key = this.key; var shoppingList = this.shoppingList; //在使用filter時(shí)需要注意的是,前面調(diào)用的是需要使用filter的數(shù)組,而給filter函數(shù)傳入的是數(shù)組中的每個(gè)item,也就是說filter里面的函數(shù),是每個(gè)item要去做的,并將每個(gè)結(jié)果返回。 return shoppingList.filter(function (item) { return item.toLowerCase().indexOf(key.toLowerCase()) != -1 });; } } })
最終效果實(shí)現(xiàn)了根據(jù)關(guān)鍵字來過濾列表的功能。
其他的一些Js 迭代方法——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
感謝各位的閱讀!關(guān)于“filter怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!