这种很常见,因为比如日期,后台会返回时间戳,但是我们前端呈现的方式有2018-1-2,有2018-01-02.有2018.03.08,有各种格式,所以我们需要自己去转格式,然后数组需要循环,这时候要怎样做呢?
现在有两种方式:
方式一:JS处理好后再进行展示
req.getUserEffectLog(start).then(res=>{
let tempList=[];
res.result.forEach(function(item,index){
tempList[index]={};
tempList[index].remarks = item.remarks;
tempList[index].type = item.type;
tempList[index].date = time.toDate(item.createTime, false);
tempList[index].effectNum = item.effectNum;
})
this.setData({
detailList: tempList
})
})
代码说明:使用了一个中间数组,声明一下数组的某一项是个对象,然后再给对象赋具体的属性和值。
方式二 :使用wxs写方法,然后直接在wxml里边处理相应的需要处理的数据。
正常来说,这种方法可以更方便,但是,由于那个方法是公用的,所以如果js里边也要用,那么就重合了。所以,像这种具体使用那种方法的选择,最后还是平衡一下。
而且虽然wxs跟js很像,但是并不是,比如需要new Date就会报错。
wxs能处理的数据格式有限,但是处理价格保留两位小数还是可以做到的。
举个例子:
- 定义
var filters = {
toFix: function (value) {
var a = parseInt(value);
return a//整数
}
}
var filt = {
toFix: function (value) {
return value.toFixed(1)
}
}
var Str = {
toStr: function (value) {
return value.split("#")[0]
}
}
module.exports = {
toFix: filters.toFix,
toFixs: filt.toFix,
toStr: Str.toStr
}
- 引入
<wxs src="toDate.wxs" module="tools" />
- 使用
<view class='left-date'>{{toDate.toDate(item.createTime,false)}}</view>