博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue自定义过滤器
阅读量:4988 次
发布时间:2019-06-12

本文共 2409 字,大约阅读时间需要 8 分钟。

1.时间过滤器

2017-8-22

 

Vue.filter('time', function (value) {

if (value=='') {
return;
}
var data = new Date(parseInt(value) * 1000)
var year = data.getFullYear()
var month = data.getMonth()+1
var day = data.getDate()
month = month<10?'0'+month:month
day = day<10?'0'+day:day
var formatDate = year +'-' +month+'-' + day
if (formatDate=='NaN-NaN-NaN') {
formatDate = '0000-00-00'
}
return formatDate
});

 

2017-8-22 12:00

 

Vue.filter('delaytime', function (value) {

if (value=='') {
return;
}
var data = new Date(parseInt(value) * 1000);
var year = data.getFullYear();
var month = data.getMonth()+1;
var day = data.getDate();
var hour = data.getHours();
var minute = data.getMinutes();
// var second = data.getSeconds();
month = month<10?'0'+month:month;
day = day<10?'0'+day:day;
hour = hour<10?'0'+hour:hour;
minute = minute<10?'0'+minute:minute;
// second = second<10?'0'+second:second;
// var formatDate = year +'-' +month+'-' + day + ' ' + hour + ':' + minute + ':' + second;
var formatDate = year +'-' +month+'-' + day + ' ' + hour + ':' + minute;
if (formatDate=='NaN-NaN-NaN NaN:NaN') {
formatDate = '0000-00-00'
}
return formatDate
});

//月日  8月22日

Vue.filter('date', function (value) {
var dd = new Date(value);
var date = dd.getMonth()+1+"月"+dd.getDate()+"日";
return date;
});

//小时分钟 12:00

Vue.filter('min', function (value) {
var dd = new Date(value);
var hour = dd.getHours();
var minute = dd.getMinutes();
var min = hour+":"+minute;
return min;
});

//星期

Vue.filter('week', function (value) {
var dd = new Date(value);
//获取当前星期X(0-6,0代表星期天)
var week = dd.getDay();
switch (week) {
case 0:
week = '星期天';
break;
case 1:
week = '星期一';
break;
case 2:
week = '星期二';
break;
case 3:
week = '星期三';
break;
case 4:
week = '星期四';
break;
case 5:
week = '星期五';
break;
case 6:
week = '星期六';
break;
};
return week;
});

 

2.手机号验证

Vue.filter('mobimark', function (value) {

return value.replace(/(1\d{1,2})\d\d\d\d(\d{3,4})/g, "$1****$2");
});

 

3.四舍五入

Vue.filter('fixed', function (value) {

var date = value.toFixed(2);
return date;
});

 

自带的方法:

capitalize首字母大写

|uppercase全部大写

|uppercase全部小写

|currency输出金钱以及小数点

|debounce包装处理器,让它延迟执行 x ms, 默认延迟 300ms。

| limitBy需在v-for(即数组)里面使用|filterBy需在v-for(即数组)里面使用<需要搜索的字符串>

   例如: <li v-for="val in arr | limitBy 2 1">    limitBy默认是从数组的第一个元素开始显示,在这个例子中,第一个参数是多少,就会显示几条数据,第二个参数1,为数组的下标,如果将第二个参数改成arr.length-2,那么显示的将是数组最后两个元素

|orderBy需在v-for(即数组)里面使用

转载于:https://www.cnblogs.com/sjxx/p/7410681.html

你可能感兴趣的文章
基于opencv和mfc的摄像头采集代码(GOMFCTemplate2)持续更新
查看>>
终极优化字符串
查看>>
MD5工具类
查看>>
eclipse中如何打开工作空间里面已经有的项目
查看>>
游戏时区问题小解
查看>>
Linux下用户和用户组的创建(翻译)
查看>>
Python中文编码深入解析
查看>>
jsp自定义标签
查看>>
数据库启动步骤
查看>>
完全认识树状数组
查看>>
SpringCloud之旅第一篇-微服务概念
查看>>
管理信息系统课程设计
查看>>
STM32F103移植uCOSIII始终卡在PendSV或Systick处解决办法
查看>>
【Tomcat 6.0官方文档翻译】—— 简介
查看>>
Vue.js组件的通信之子组件向父组件的通信
查看>>
Mongodb部署
查看>>
配置当前用户使用豆瓣pip源
查看>>
Linux定时执行PHP
查看>>
如何创建响应的jQuery图像网格效果
查看>>
Eclipse安装与使用
查看>>