Vue 中的过滤器
1.vue中的过滤器:是vue为开发者提供的功能,常用于文本的格式化
2.使用的地方:通过插值表达式 和 v-bind 属性绑定
3.过滤器通过 "管道符 ” | 进行调用
实例:
在插值表达式里面使用过滤器:《==通过过滤器对msg进行过滤,得到想要的文本格式
<p>{{ msg | 过滤器名字 }} </p>
在v-bind属性里面使用 :《== 通过过滤器对 title进行过滤 然后得到想要的文本格式
<div :title="title | 过滤器名"></div>
4.过滤器的定义分为:局部过滤器和全局过滤器
局部过滤器:组件私有的过滤器,可以在filters 节点中定义过滤器,该过滤器只能在当前组件中调用(在当前组件里面定义)
比如定义一个把字符串首字符转换成大写的局部过滤器
export default {
filters:{
upper(input){
return input.slice(0,1).toUpperCase()+input.slice(1)
} }}
全局过滤器:可以在多个vue组件之间共享过滤器,可以在main.js中通过Vue.filter()方法定义全局过滤器
比如把字符串首字母转换成大写的全局过滤器
main.js中
Vue.filter("upper",function(input){
return input.slice(0,1).toUpperCase()+input.slice(1)
})
定义一个全局过滤器:把数字保留两个小数
Vue.filter("tofix",(data)=>{
return parseFloat(data).toFixed(2)
})
调用多个过滤器:
<div >{{ msg |tofix |upper }}</div>
执行过程:把msg的值交给tofix过滤器进行处理,处理的值然后再交给upper过滤器进行处理,最终把upper处理的结果渲染到页面上
过滤器还可以进行传参:过滤处理参数的时候,第一个参数永远是第一个,其他的参数是额外接收的:
例如:
<p >{{ msg |fiterA(arg1,arg2) }} </p> 过滤器会接收三个参数,分别是 msg,arg1,arg2
fiters:{
//这样是给过滤器的额外参数提供默认值
filterA(input,arg1=0,arg2=1){
}