过滤器filter

使用场景:用于一些常用的文本格式化。
使用地方

  1. 双花括号插值{{}}
{{message | captitalize}}
  1. v-bind表达式
<img :src="data.img |  myImgFilter"/>

写法
A. 全局过滤器
在js里定义一个全局过滤器,filter()函数有两个参数,
参数一:过滤器名(页面html引用过滤器根据这个名字);
参数二:回调函数(接受页面通过管道传过来的数据;数据处理完毕后通过return 关键字返到页面上)

Vue.filter("myImgFilter",(path)=>{
  return path.replace('/w.h','')+'@1l_1e_1c_128w_180h'
})
<img :src="data.img |  myImgFilter"/>

B. 局部过滤器
在vue组件中定义过滤器,在页面html上引用

new Vue({
	el:'#box',
	data:{
		datalist:[]
	},
	filters:{
		filterImgMethod: (path){
			return path.replace('/w.h','')+'@1l_1e_1c_128w_180h'
		}
	}
}
<img :src="data.img |  filterImgMethod"/>

过滤器传参:

{{message | filterA('arg1','arg2')}}

这里,filterA被定义为接收三个参数的过滤器函数。其中message的值作为第一个参数

Vue.filter("filterA",(message,arg1,agr2)=>{
	console.log(message); //从页面上经过过滤器管道传递过来的第一个参数
	console.log(arg1); //从页面上经过过滤器管道传递过来的第二个参数
	console.log(arg2); //从页面上经过过滤器管道传递过来的第三个参数
	return path.replace('/w.h','')+'@1l_1e_1c_128w_180h'
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值