微信小程序过滤器 filter的使用(过滤器 filter)

我们在实际的项目开发中避免不了传输数据与展示数据不同,直接修改原数据显然是不合适。这个时候如果有过滤器的话,可以很方便的解决我们的问题,但是遗憾的是小程序目前没有过滤器,只能通过自己来模拟。下面就提供两种在小程序中使用过滤器的方法:

方法1  通过在js中自定义函数来实现过滤功能

data : {
  originTime : 1811748300578
}

 getTime (){    
  return FormatUtil.getDate(this.data.originTime );
}

方法2 使用wxs,wxs 目前主要是增强 wxml 标签的表达能力;方式如下

a) 在项目的目录中新建一个filte的文件夹(文件夹的名字可以随便起,不过一般使用filter)

b) 在该文件夹下新建一个后缀为.wxs的文件(该文件主要是用来实现相关功能)

c) 在该文件中,编写我们要实现的功能代码即可(本例中实现的是商品的价格显示保留两位小数)

var unit = {
  reduceSecond: function(text) {
    var cates = text;
    if(cates.indexOf("|")!=-1){
      var catesArr = cates.split("|");
      var pinStr = "";
      catesArr.forEach(function(objs){
        pinStr = pinStr+' '+ objs.substring(objs.indexOf(":")+1);
      })
      console.log(pinStr);
    }else{
      var pinStr = "";
      var catesArr = cates.split(":");
      catesArr.forEach(function(objs){
        pinStr+=catesArr[1];
      })
    }
    return pinStr;
  },
  saveSecond:function(text){
    var getNum = text*1;
    var postNum = getNum.toFixed(2);
    return postNum;
  }
}
module.exports = {
  reduceSecond: unit.reduceSecond,
  saveSecond:unit.saveSecond
}

d) 在我们要用到的wxml页面中,引入该文件,引入方式如下:

需要注意的是要在引入文件的同时 给wxs标签添加module属性,方便我们在下面使用

e) 在需要过滤的地方使用即可实现

效果:

<view>         
    <text class="cate-price">¥{{unit.saveSecond(salePrice/100)}}</text>
    <text class="diaPrice">¥{{unit.saveSecond(productInfo.marketPrice/100)}}</text>
 </view>

以上就是微信小程序中实现过滤器的两种方法,对你有帮助的话,给个赞吧 欢迎交流!

 

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_流年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值