這篇文章將為大家詳細(xì)講解有關(guān)Vue如何實(shí)現(xiàn)自帶的過(guò)濾器,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、銅仁網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫(kù)只關(guān)注視圖層,方便與第三方庫(kù)和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫(kù)開(kāi)發(fā)復(fù)雜的單頁(yè)應(yīng)用。
一 過(guò)濾器寫(xiě)法
{{ message | Filter}}
二 Vue自帶的過(guò)濾器:capitalize
功能:首字母大寫(xiě)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> {{message | capitalize}} </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { message: "abc" } }) </script> </body> </html>
上面代碼輸出:Abc
三 Vue自帶的過(guò)濾器:uppercase
功能:全部大寫(xiě)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> {{message | uppercase}} </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { message: "abc" } }) </script> </body> </html>
上面代碼輸出:ABC
四 Vue自帶的過(guò)濾器:uppercase
功能:全部小寫(xiě)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> {{message | lowercase}} </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { message: "ABC" } }) </script> </body> </html>
上面代碼輸出:abc
五 Vue自帶的過(guò)濾器:currency
功能:輸出金錢(qián)以及小數(shù)點(diǎn)
參數(shù):
第一個(gè)參數(shù) {String} [貨幣符號(hào)] - 默認(rèn)值: '$'
第二個(gè)參數(shù) {Number} [小數(shù)位] - 默認(rèn)值: 2
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> {{message | currency}} <!--輸出$123.47--> {{message | currency '¥' "1"}} <!--輸出$123.5--> </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { message: "123.4673" } }) </script> </body> </html>
六 Vue自帶的過(guò)濾器:pluralize
功能: 如果只有一個(gè)參數(shù),復(fù)數(shù)形式只是簡(jiǎn)單地在末尾添加一個(gè) “s”。如果有多個(gè)參數(shù),參數(shù)被當(dāng)作一個(gè)字符串?dāng)?shù)組,對(duì)應(yīng)一個(gè)、兩個(gè)、三個(gè)…復(fù)數(shù)詞。如果值的個(gè)數(shù)多于參數(shù)的個(gè)數(shù),多出的使用最后一個(gè)參數(shù)。
參數(shù):{String} single, [double, triple, ...
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> {{message}} {{message | pluralize 'item'}} <!--輸出: 1 item--> <ul v-for="item in lili"> <li> {{item}} {{item | pluralize 'item'}} <!--輸出: 1 item 2 items 3 items--> </li> </ul> <ul v-for="item in lili"> <li> {{item}} {{item | pluralize 'st' 'rd'}} <!--輸出: 1 st 2 rd 3 rd--> </li> </ul> <ul v-for="item in man"> <li> {{item}} {{item | pluralize 'item'}} <!--輸出: 1 item 2 items 3 items--> </li> </ul> <ul v-for="item in man"> <li> {{item}} {{item | pluralize 'st' 'rd'}} <!--輸出: 1 st 2 rd 3 rd--> </li> </ul> </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { message: 1, lili: [1,2,3], man: { name1: 1, name2: 2, name3: 3 } } }) </script> </body> </html>
七 Vue自帶的過(guò)濾器:debounce
(1)限制: 需在@里面使用
(2)參數(shù):{Number} [wait] - 默認(rèn)值: 300
(3)功能:包裝處理器,讓它延遲執(zhí)行 x ms, 默認(rèn)延遲 300ms。包裝后的處理器在調(diào)用之后至少將延遲 x ms, 如果在延遲結(jié)束前再次調(diào)用,延遲時(shí)長(zhǎng)重置為 x ms。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> <button id="btn" @click="disappear | debounce 10000">點(diǎn)擊我,我將10秒后消失</button> </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", methods: { disappear: function () { document.getElementById("btn").style.display= "none"; } } }) </script> </body> </html>
八 Vue自帶的過(guò)濾器:limitBy
(1)限制:需在v-for(即數(shù)組)里面使用
(2)兩個(gè)參數(shù):
第一個(gè)參數(shù):{Number} 取得數(shù)量
第二個(gè)參數(shù):{Number} 偏移量
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> <ul v-for="item in lili | limitBy 10"> <!--輸出1 2 3 4 5 6 7 8 9 10--> <li>{{item}}</li> </ul> <ul v-for="item in lili | limitBy 10 3"> <!--輸出 4 5 6 7 8 9 10 11 12 13--> <li>{{item}}</li> </ul> </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { lili: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] } }) </script> </body> </html>
九 Vue自帶的過(guò)濾器:filterBy
(1)限制:需在v-for(即數(shù)組)里面使用
(2)三個(gè)參數(shù):
第一個(gè)參數(shù): {String | Function} 需要搜索的字符串
第二個(gè)參數(shù): in (可選,指定搜尋位置)
第三個(gè)參數(shù): {String} (可選,數(shù)組格式)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> <ul v-for="item in lili | filterBy 'o' "> <!--輸出oi oa lo ouo oala--> <li>{{item}}</li> </ul> <ul v-for="item in man | filterBy 'l' in 'name' "> <!--輸出lily lucy--> <li>{{item.name}}</li> </ul> <ul v-for="item in man | filterBy 'l' in 'name' 'dada' "> <!--輸出lily+undefined lucy+undefined undefined+lsh--> <li>{{item.name+"+"+item.dada}}</li> </ul> </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { lili: ["oi", "oa", "ll", "lo" ,"ouo" ,"kk" ,"oala"], man: [ //此處注意man是數(shù)組,不是對(duì)象 {name: "lily"}, {name: "lucy"}, {name: "oo"}, {dada: "lsh"}, {dada: "ofg"} ] } }) </script> </body> </html>
十 Vue自帶的過(guò)濾器:orderBy
(1)限制:需在v-for(即數(shù)組)里面使用
(2)三個(gè)參數(shù):
第一個(gè)參數(shù): {String | Array<String> | Function} 需要搜索的字符串
第二個(gè)參數(shù): {String} 可選參數(shù) order 決定結(jié)果升序(order >= 0)或降序(order < 0),默認(rèn)是升序
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue自帶的過(guò)濾器</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="test"> <!--遍歷數(shù)組--> <ul v-for="item in lili | orderBy 'o' 1"> <!--輸出kk ll oi--> <li>{{item}}</li> </ul> <ul v-for="item in lili | orderBy 'o' -1"> <!--輸出oi ll kk--> <li>{{item}}</li> </ul> <!--遍歷含對(duì)象的數(shù)組--> <ul v-for="item in man | orderBy 'name' 1"> <!--輸出Bruce Chuck Jackie--> <li>{{item.name}}</li> </ul> <ul v-for="item in man | orderBy 'name' -1"> <!--輸出Jackie Chuck Bruce--> <li>{{item.name}}</li> </ul> <!--使用函數(shù)排序--> <ul v-for="item in man | orderBy ageByTen"> <!--輸出Bruce Chuck Jackie--> <li>{{item.name}}</li> </ul> </div> <script type="text/javascript"> var myVue = new Vue({ el: ".test", data: { lili: ["oi", "kk", "ll"], man: [ //此處注意man是數(shù)組,不是對(duì)象 { name: 'Jackie', age: 62 }, { name: 'Chuck', age: 76 }, { name: 'Bruce', age: 61 } ] }, methods: { ageByTen: function () { return 1; } } }) </script> </body> </html>
關(guān)于“Vue如何實(shí)現(xiàn)自帶的過(guò)濾器”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
本文標(biāo)題:Vue如何實(shí)現(xiàn)自帶的過(guò)濾器
標(biāo)題來(lái)源:http://m.rwnh.cn/article30/ipgjpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、動(dòng)態(tài)網(wǎng)站、商城網(wǎng)站、企業(yè)建站、軟件開(kāi)發(fā)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)