微信小程序wxml使用过滤器
- 1. 新建wxs
- 2. 引用和使用
如何在微信小程序wxml使用过滤器?
犹如Angular使用pipe管道这样子方便,用的最多就是时间格式化。
下面是实现时间格式化的方法和步骤:
1. 新建wxs
插入代码:
/**
* 管道过滤工具类
* @param strDate
* @param format
*/
// 第一种方法:
var formatTime = function (strDate, format = "yyyy-MM-dd hh:mm:ss") {
if(strDate==null || strDate ==undefined || strDate=="")
{
return ""
}
// 解决ios出现NaN问题
strDate = strDate.replace("T", " ");
var realDate = strDate ? getDate(strDate.replace(getRegExp('-', 'g'), '/')) : getDate();
var regYear = getRegExp("(y+)", "i");
var date = [
["M+", realDate.getMonth() + 1],
["d+", realDate.getDate()],
["h+", realDate.getHours()],
["m+", realDate.getMinutes()],
["s+", realDate.getSeconds()],
["q+", Math.floor((realDate.getMonth() + 3) / 3)],
["S+", realDate.getMilliseconds()],
];
var reg1 = regYear.exec(format);
if (reg1) {
format = format.replace(reg1[1], (realDate.getFullYear() + '').substring(4 - reg1[1].length));
}
for (var i = 0; i < date.length; i++) {
var reg2 = getRegExp("(" + date[i][0] + ")").exec(format);
if (reg2) {
format = format.replace(reg2[1], reg2[1].length == 1 ? v : ("00" + date[i][1]).substring(("" + date[i][1]).length));
}
}
return format;
}
module.exports = {
formatTime:formatTime
}
2. 引用和使用
在wxml
中使用
<wxs module="filter" src="../../utils/pipe.wxs"></wxs>
<view slot="title">
{{filter.formatTime(billingPeriodStart, 'yyyy-MM-dd')}} ~ {{filter.formatTime(billingPeriodEnd,'MM-dd')}}
</view>