vue使用过滤器filters

1、filter的使用

<div>
		<!--过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)-->
		<div>{{ num | numFilter }}</div>   
		<!-- numFilter 过滤器函数将会收到 num 的值作为第一个参数-->
		
		<div :id="num1 | idFilter"></div>
		
		<div>{{ num | numberFilter(num1, num2) }}</div>
		<!--numberFilter 被定义为接收三个参数的过滤器函数。其中 number 的值作为第一个参数,num1 的值作为第二个参数,num2的值作为第三个参数。-->
	</div>
export default{
		data(){
			return{
				num:1.123, num1:1, num2:1,
			}
		},
		filters:{
			numFilter:function(val){
				if (!val) return ''
				val=Number(val).toFixed(2);
				return val       //console.log(val)  1.12
			},
			idFilter:function(val){
				if (!val) return ''
				val=`index-${val}`;
				return val   //console.log(val)  index-1
			},
			numberFilter:function(val1,val2,val3){
				return val1+val2+val3   //console.log(val1+val2+val3)  3.123
			}
		},
	}

2、v-html 使用过滤器filters
例:将后台返回的文本数据中的英文标点都变成中文标点符号
(1)

<p v-html="$options.filters.repSign(sub_title)">{{sub_title}}</p>

(2)

	filters: {
			 interchange(str) {
				if(str== '' || str == null) {
					return str
				} else {
					str = str.replace(/([\u4E00-\u9FA5]|^|\n|\r)([\,\.\?\!\:\;])(?=[\u4E00-\u9FA5]|$|\n|\r)/g, function(u, v, w, x) {
						var sign = {
							',': ',',
							'.': '。',
							'?': '?',
							'!': '!',
							':': ':',
							';': ';'
						};
						return sign[w] ? v + sign[w] : u;
					});
					return str;
				}
			},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值