art-template 4.0时间戳转时间

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

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

   
  

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

  // 时间戳转日期函数
  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注册一个过滤器,然后在模板中必须像管道一层一层的输出,不能一次性直接输出!

你可能感兴趣的:(css,javascript,JS且走且珍惜)