template.js完成后端数据的遍历

前言:最近公司要求写js,第一次用这个框架,就记录一下

一,我需要把后端传过来的数据(list集合),也就是金币+金额

template.js完成后端数据的遍历

2,导入js

<script src="js/template.js"></script>

3,页面,加粗是重点

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="css/main.css" />
    <link rel="stylesheet" href="css/root.css"/>
    <script src="js/rem.js"></script>
    <title>购买金币</title>
</head>
    <body>
        <div class="buy_head">
            <img src="images/return.png" class="return" alt="" />
            <div class="buy_head_title f36 tc">磁力云</div>
        </div>
        <div class="buy_tab">
            <a href="buy_vip.html" class="buy_tab_main  c99 f30">
                ä¼šå‘˜
            </a>
            <a href="buy_coin.html" class="buy_tab_main c33 f38 ml50">
                <span>金币</span>
                <div class="buy_tab_main_b2"></div>
            </a>
            <a href="buy_space.html" class="buy_tab_main c99 f30 ml56">空间</a>
        </div>
        
        <img src="images/vip2.png" class="buy_vip_banner" alt="" />
        
        
        <div class="buy_choice">
            <script type="text/html" id="basic">
            {{each list as file i}}
            <div class="buy_choice_main">
                <div class="c66 f26 tc mt34 buy_pay_coin_head">{{file.gold}}个</div>
                <div class="mt24 buy_pay_coin left tc mt20 c0a">
                    <input  id="typeId"  type="hidden" value="{{file.id}}">
                    <span class="f30 coin_fh">ï¿¥</span><span class="f50 num">{{file.cny}}</span>&nbsp;
                </div>
            </div>
            {{/each}}
            </script>

        </div>
        
        <div class="pay_style">
            <img src="images/pay_style.png" class="pay_style_1" alt="" />
            <span>支付宝</span>
            <img src="images/pay2.png" class="pay_style_2" alt="" />
        </div>
        
        <div class="pay_foot">
            <div class="buy_pay_coin_foot">
                <input  id="payType"  type="hidden" value="89465ad8f5344760b81321c5d3b6c871">
                <span class="f30 coin_fh b6c3">ï¿¥</span><span class="f50 num">1</span>
            </div>
            <div class="pay_but tc f32">è´­ä¹°</div>
        </div>
    </body>
    <script src="js/jquery-2.1.4.js"></script>
    <script src="js/root.js"></script>
    <script src="js/template.js"></script>
    <script>
        
        /**
         * 自动加载规则
         */
        window.onload = function () {
            var gold='gold';
              $.post("/tblset/findTblSetsByType.do",{type:gold},function(data){
                    //var data = JSON.parse(data);
                    //console.log(data.list);
                    var li = template('basic',{list:data.obj});
                    $('.buy_choice').html("");
                    $('.buy_choice').prepend(li);    
                    $(".return").click(function(){
                        window.history.go(-1);
                    })
                    $(".buy_choice_main").eq(0).addClass("buy_vip2_active");
                    $(".buy_choice_main").each(function(i){
                        $(".buy_choice_main").eq(i).click(function(){
                            $(".buy_choice_main").removeClass("buy_vip2_active");
                            $(this).addClass("buy_vip2_active");
                            var coin = $(this).children(".buy_pay_coin").children(".num").html();
                            var payType=$(this).children(".buy_pay_coin").children("#typeId").val();
                            $(".buy_pay_coin_foot .num").html(coin)
                            //$(".buy_pay_coin_foot").html(coin);
                            $("#payType").val(payType);
                        })
                    })
            }); 
              
                //购买点击事件
                $(function() {
                    $(".pay_but").click(
                            function() {
                                var payType=$("#payType").val();
                                if (payType != "") {
                                    window.location.href = "/tblset/aliPayController.do?payType="+payType;
                                } else {
                                    mask("提示","网络错误!","取消","确定");
                                } 
                            });
                })
                
        }

    </script>
</html>

二,获取数据到页面后格式化时间, ç”¨template调用方法

template.js完成后端数据的遍历

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="css/main.css" />
    <link rel="stylesheet" href="css/root.css"/>
    <script src="js/rem.js"></script>
    <title>我的消息</title>
</head>
    <body>
        <div class="buy_head">
            <img src="images/return.png" class="return" alt="" />
            <div class="buy_head_title f36 tc">我的消息</div>
        </div>
        <div class="h20 W100"></div>
        <div id="msgShow">
            <script type="text/html" id="msgs">
            {{each list as dataList i}}
            <div class="news_list" id="msgs">
                <img src="images/news.png" class="news_img left" alt="" />
                <div class="news_list_main f28 c66 left">
                    {{dataList.content}}
                </div>
                <div class="news_time f20 c99 W100 left tc mt26">
                    <span>{{json_parse(dataList.creDate)}}</span> 
                </div>
            </div>
            {{/each}}
                </script>
            <div class="look_more" id="typeface" οnclick="nextpage()">
                æŸ¥çœ‹æ›´å¤š
                <img src="images/look_more.png" alt="" />
            </div>
        </div>
        
        
    
    </body>
    <script src="js/jquery-2.1.4.js"></script>
    <script src="js/root.js"></script>
    <script src="js/template.js"></script>
    <script>
        
    var page = 1;
     var pageInfoGlobal = null;
    $(function (){
        getTradeHistory(page);
    })    
    
     function nextpage() {
            if(pageInfoGlobal!=null && pageInfoGlobal.obj.hasNextPage){
                page++;
                console.log("---->"+page);
                getTradeHistory(page);
            } else {
                $("#typeface").hide();
            }
    } 
    function getTradeHistory(page){
        $.ajax({
            type:"get",
            url:"/user/userMsg/findUserMsgs.do?pageNum="+page+"&pageSize=10",
            success:function(data){
                pageInfoGlobal = data;
                //console.log(data.obj.list);
                console.log(data);
                if(data.obj.total != 0 && data.obj.hasNextPage){
                    
                }else{
                    $("#typeface").hide();
                }
                var list=data.obj.list
                var li = template('msgs',{list:list});
                $('#msgShow').prepend(li);  
        },
            error:function(){
                alert("网络错误");
            }
        });
    };
    
    $(".return").click(function(){
        window.history.go(-1);
    })
    
    template.helper("json_parse",function(fmt){
        var data=new Date(fmt);
        if(isToday(data)){
            return  data.Format("HH:mm:ss");
        }else{
            return  data.Format("yyyy-MM-dd HH:mm:ss");
        }
        
    });

        //格式化时间
        Date.prototype.Format = function (fmt) { 
            var o = {  
                "M+": this.getMonth() + 1, //月份   
                "d+": this.getDate(), //日   
                "H+": this.getHours(), //小时   
                "m+": this.getMinutes(), //分   
                "s+": this.getSeconds(), //秒   
                "q+": Math.floor((this.getMonth() + 3) / 3), //季度   
                "S": this.getMilliseconds() //毫秒   
            };  
            if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));  
            for (var k in o)  
            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));  
            return fmt;  
        }  
        
        function isToday(str) {
               return new Date().getTime() - new Date(str).getTime() < 86400000;
        }


    </script>
</html>