VUE 过滤器
过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理,这点要切记
过滤器的定义和使用
定义
全局定义和局部定义两种方式
// 全局注册
Vue.filter('toRMB', function (value) {
return `¥${value}`
})
new Vue({
el: '#app',
data: {
money: 826.26,
},
// 局部注册
filters: {
toFixed: function(money) {
return money.toFixed(1)
},
},
)}
使用
在双花括号中使用
管道符(pipeline)|隔开,或者v-bind表达式
<h2>过滤器的使用-添加前缀</h2>
<p>{{352.11 | toRMB}}</p>
<p>{{657 | toRMB}}</p>
<p>{{657.22 | toFixed }}</p>
<p>{{money | toFixed }}</p>
还可以链式使用,注意先后的顺序,如下面的先添加¥符号再进行小数位变换将会出错,因此要注意先后顺序
<p>{{ money | toFixed | toRMB }}</p>
过滤器函数的多层参数
过滤器函数是指接收的参数不止
value这一个,还可以添加length和suffix参数
<h2>多重参数</h2>
<p>{{text}}</p>
<p>{{text | readMore(20,'...')}}</p>
new Vue({
el: '#app',
data: {
text: 'hello I love u, will u love me ?',
},
filters: {
readMore: function (value,length,suffix) {
console.log(arguments);
return value.substr(0,length) + suffix;
},
}
})