vue過濾器filter的使用方法詳解
前言
vue允許自定義過濾器,我們通常用于對文本進行格式化一類的操作。如:將返回值 'abc' 設置為 'ABC' 顯示在頁面中;又或者,如果返回值為 'a' 頁面顯示 '張三',返回值為 'b' 頁面顯示 '李四'。總之,對當前文本的各種操作,幾乎都可以用filter來解決。
注意:過濾器僅可以在兩個地方使用:1、花括號中;2、v-bind中;
// 在花括號中使用
<div>{{ message | msgFilter }}</div>
// 在v-bind中使用
<div v-bind:id="rawId | idFilter"></div>一、全局過濾器
vue項目中創(chuàng)建全局過濾器:在main.js中注冊全局過濾器,且必須放在vue實例創(chuàng)建之前。然后才可以在各個組件中使用。
//main.js
Vue.filter('filter1',function(value){
return value.chartAt(0).toUpperCase()+value.slice(1)
})
new Vue({
//.......
})二、局部過濾器
局部過濾器,在組件中定義,與data,created,methods等同級。
filters:{
filter1:function(value){
return value.chartAt(0).toUpperCase()+value.slice(1)
}
}三、多個過濾器串聯(lián)
我們在應用中,可以依次使用兩個或多個過濾器,每個過濾器的參數(shù)為上一次過濾器返回的結(jié)果。
<div> {{ message | filter1 | filter2 }} </div>在以上例子中,有兩個過濾器 filter1 和 filter2。首先會將 message 傳入 filter1 中進行第一次處理,然后再將 filter1 的處理結(jié)果,傳遞到 filter2 中進行第二次處理,最終,將filter2的處理結(jié)果渲染到頁面中。
四、過濾器添加參數(shù)
過濾器同樣是一個js函數(shù),因此可以添加參數(shù)。
<div> {{ message | filter1('param1','param2') }} </div>如上所示,filter1 有一個默認參數(shù) message ,我們自定義添加了兩個參數(shù) 'param1' 和 'param2',此時,在實際的過濾器函數(shù)中一共接收到三個參數(shù):message,'param1','param2';
filters:{
filter1:function(value,value1,value2){
console.log(value) // message變量的值
console.log(value1) // param1
console.log(value2) // param2
}
}五、過濾器 this 指向問題
filter過濾器中的this指向,并不是vue中的this,而是undefined;
因此,如果我們想要獲取data中的數(shù)據(jù),有兩種方法:1、改變this指向;2、傳參;
1、改變this 指向
<template>
<div class="file-bg"> {{ fileObj | typeFilter}} </div>
</template>
<script>
let that;
export default {
data(){
return{
fileObj:{type:'file'},
classObj:{file:'file-img'}
}
},
beforeCreate(){
that = this;
},
filters:{
typeFilter:function(obj){
console.log(that.classObj)
}
}
}
</script>2、傳參
<template>
<div class="file-bg"> {{ fileObj | typeFilter(classObj) }} </div>
</template>
<script>
export default {
data(){
return{
fileObj:{type:'file'},
classObj:{file:'file-img'}
}
},
filters:{
typeFilter:function(obj,classObj){
console.log(obj)
console.log(classObj)
}
}
}
</script>總結(jié)
到此這篇關于vue過濾器filter的使用方法的文章就介紹到這了,更多相關vue過濾器filter使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
實例分析vue循環(huán)列表動態(tài)數(shù)據(jù)的處理方法
本篇文章給大家詳細分享了關于vue循環(huán)列表動態(tài)數(shù)據(jù)的處理方法以及相關知識點內(nèi)容,有需要的朋友們參考下。2018-09-09
antd vue table跨行合并單元格,并且自定義內(nèi)容實例
這篇文章主要介紹了antd vue table跨行合并單元格,并且自定義內(nèi)容實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
vue2.0 獲取從http接口中獲取數(shù)據(jù),組件開發(fā),路由配置方式
今天小編就為大家分享一篇vue2.0 獲取從http接口中獲取數(shù)據(jù),組件開發(fā),路由配置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue element中axios下載文件(后端Python)
這篇文章主要介紹了vue element中axios下載文件(后端Python)的實例代碼,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05

