微信小程序wxml使用过滤器

微信小程序wxml使用过滤器

  • 1. 新建wxs
  • 2. 引用和使用

如何在微信小程序wxml使用过滤器?
犹如Angular使用pipe管道这样子方便,用的最多就是时间格式化。

下面是实现时间格式化的方法和步骤:

1. 新建wxs

微信小程序wxml使用过滤器_第1张图片
插入代码:

/**
 * 管道过滤工具类
 * @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>

你可能感兴趣的:(小程序,微信小程序,小程序,过滤器)