art-template 4.0时间戳转时间

21 篇文章 0 订阅
12 篇文章 0 订阅

今天用模板渲染的时候,所有直接展示的都没问题,但是后台传时间戳需要我这边进行相关处理。看了网上很多处理方法,只能说用新的版本的art,他们的helper方法已经过时!坑了我好几次。然后我也用了他们的过滤器,发现每次过滤器都报错说没有函数!一整天都在坑里,晚上有大神帮忙分析,终于爬出坑。现在记录一下;

以下,是我的模板;用的是原生语法,

  <script id="tpl-jjunpaid" type='text/html'>
    
    <% for(var i = 0;i<list.length;i++){ %>
        <tr>
            <td><%=i+1 %></td>
            <td><%=list[i].contacts_name %></td>
            <td><%=list[i].contacts_phone %></td>
            <td><%=list[i].place_name %></td>
            <td><%=list[i].airport %></td>
            <td class="flight1"><%=list[i].flight %></td>
            <td><% var times=list[i].c; var times_str = $imports.timestamp(times) %>
             //这里是时间转化的地方!!用变量首先保存你的时间戳times=list[i].c,继续再用变量保存调用写的过滤器的规则$imports.timestamp(times)
             <%= times_str%> //最后输出成日期!
        </td>
<td><%=list[i].order_number %></td> <td class="car_type"> <%=list[i].type_of_car.car_type == 1?"舒适":"豪华"%><%=list[i].type_of_car.seat_num == 5?"五坐":"七座"%></td> <td><%=list[i].order_offer_price%></td> <td><%=list[i].order_price%></td> <td class="remark"> <%=list[i].note%> </td> <td> <a href="javascript:;" data-id = '<%=list[i].detail_id%>'>推送提醒付款</a> </td> <td> <a href="car_private_detal1.html" class="detal">查看详情</a> </td> </tr> <% } %> </script>

先找到时间戳转日期的插件;

  // 时间戳转日期函数
  function timestampToTime(val) {
    var date = new Date(val);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    Y = date.getFullYear() + '-';
    M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    D = date.getDate() + ' ';
    h = date.getHours() + ':';
    m = date.getMinutes() + ':';
    s = date.getSeconds();
    return Y + M + D + h + m + s;
  }; 

模板通过请求拿到数据,然后渲染;

 // 模板渲染
        var html = '';
//注册事件,虽然不是过滤器,但是这里也可以注册并且使用!跟前面的 var times_str = $imports.timestamp(times)的进行对应!

        template.defaults.imports.timestamp = function(value){
          return timestampToTime(value);       
        };
//最后渲染
        html = template('tpl-jjunpaid', data.data);
        $('tbody').append(html);
以上需要注意的是需要在js注册一个过滤器,然后在模板中必须像管道一层一层的输出,不能一次性直接输出!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值