Vue.js 過濾器的基本使用(filter)
vue中的過濾器分爲兩種:局部過濾器和全局過濾器
1、定義無參全局過濾器
Vue.filter('msgFormat', function(msg) { // msg 爲固定的參數 即是你需要過濾的數據
return msg.replace(/單純/g, 'xxx')
})
<div id="app">
<p>{{ msg | msgFormat}}</p>
</div>
Vue.filter(‘msgFormat’, function(msg) {
// 字符串的 replace 方法,第一個參數,除了可寫一個 字符串之外,還可以定義一個正則
return msg.replace(/單純/g, ‘xx’)
})
2、定義有參全局過濾器
<div id="app">
<p>{{ msg | msgFormat('瘋狂','--')}}</p>
</div>
Vue.filter(‘msgFormat’, function(msg, arg, arg2) {
// 字符串的 replace 方法,第一個參數,除了可寫一個 字符串之外,還可以定義一個正則
return msg.replace(/單純/g, arg+arg2)
})
</script>
// 創建 Vue 實例,得到 ViewModel
var vm = new Vue({
el: '#app',
data: {
msg: '曾經,我也是一個單純的少年,單純的我,傻傻的問,誰是世界上最單純的男人'
},
methods: {},
//定義私用局部過濾器。只能在當前 vue 對象中使用
filters: {
dataFormat(msg) {
return msg+'xxxxx';
}
}
});
注意:
1、 當有局部和全局兩個名稱相同的過濾器時候,會以**就近原則**進行調用,即:局部過濾器優先於全局過濾器被調用!
2、 一個表達式可以使用多個過濾器。過濾器之間需要用管道符“|”隔開。其執行順序從左往右