本篇文章為大家展示了怎么在vue項(xiàng)目中使用filter法,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的利川網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1、自定義的過濾器,當(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()
上述內(nèi)容就是怎么在vue項(xiàng)目中使用filter法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。