Vue實(shí)現(xiàn)自帶的過(guò)濾器實(shí)例
一 過(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>
本文源碼地址:vue-filter_jb51.rar
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue+elementUl導(dǎo)入文件方式(判斷文件格式)
這篇文章主要介紹了vue+elementUl導(dǎo)入文件方式(判斷文件格式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
關(guān)于Vue.js 2.0的Vuex 2.0 你需要更新的知識(shí)庫(kù)
關(guān)于Vue.js 2.0 的 Vuex 2.0你需要更新的知識(shí)庫(kù),感興趣的小伙伴們可以參考一下2016-11-11
vue中解決微信html5原生ios虛擬鍵返回不刷新問(wèn)題
這篇文章主要介紹了vue中解決微信html5原生ios虛擬鍵返回不刷新問(wèn)題,本文給大家分享解決方法,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
vue跳轉(zhuǎn)方式(打開(kāi)新頁(yè)面)及傳參操作示例
這篇文章主要介紹了vue跳轉(zhuǎn)方式(打開(kāi)新頁(yè)面)及傳參操作,結(jié)合實(shí)例形式分析了vue.js跳轉(zhuǎn)實(shí)現(xiàn)方式與參數(shù)接受相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
vue基于websocket實(shí)現(xiàn)智能聊天及吸附動(dòng)畫(huà)效果
這篇文章主要介紹了vue基于websocket實(shí)現(xiàn)智能聊天及吸附動(dòng)畫(huà)效果,主要功能是基于websocket實(shí)現(xiàn)聊天功能,封裝了一個(gè)socket.js文件,使用Jwchat插件實(shí)現(xiàn)類(lèi)似QQ、微信電腦端的功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
avue實(shí)現(xiàn)自定義搜索欄及清空搜索事件的實(shí)踐
本文主要介紹了avue實(shí)現(xiàn)自定義搜索欄及清空搜索事件的實(shí)踐,主要包括對(duì)搜索欄進(jìn)行自定義,并通過(guò)按鈕實(shí)現(xiàn)折疊搜索欄效果,具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12

