适应laytpl 渲染模板数据

前言

当我们异步读取数据过来的时候,还要通过手动赋值,显示在页面上吗,那样你就太OUT了,哥告诉你个新方式。

那就是 laytpl 插件

用法一:渲染单条数据

<table id="Box">
    <tr>
        <td>姓名</td><td>性别</td><td>班级</td><td>分数</td>
    </tr>
</table>
<input  type="button" value="添加学生分数" onclick="UseInfo1()"/>
<script type="text/html" id="box-class-tem1">
    <tr>
        <td>{{d.Name}}</td><td>{{d.Sex}}</td><td>{{d.Class}}</td><td>{{d.Core}}</td>
    </tr>
</script>

    function UseInfo1() {
        var html = $("#box-class-tem1").html(); //获取模板
        /*单条数据*/
        var ojb = {
            Name: "肚子",
            Sex: "14",
            Class: "五年级",
            Core: "99"
        };
         laytpl(html).render(ojb, function (result) {
            $("#Box").append(result);
        });
    }

  

用法二:渲染多条数据

<table id="Box">
    <tr>
        <td>姓名</td><td>性别</td><td>班级</td><td>分数</td>
    </tr>
</table>
<input  type="button" value="批量添加学生分数" onclick="UseInfo2()"/>

<script type="text/html" id="box-class-tem2">
    {{# for(var i = 0; i < d.list.length; i++){ }}
        <tr>
            <td>{{d.list[i].Name}}</td><td>{{d.list[i].Sex}}</td><td>{{d.list[i].Class}}</td><td>{{d.list[i].Core}}</td>
        </tr>
    {{# } }}
</script>

    function UseInfo2() {
        var html = $("#box-class-tem2").html(); //获取模板
        /*多条数据*/
        var data = {
            list: [{
                    Name: "肚1",
                    Sex: "14",
                    Class: "五年级",
                    Core: "99"
                },
                {
                    Name: "肚2",
                    Sex: "14",
                    Class: "五年级",
                    Core: "99"
                }
            ]
        };
        laytpl(html).render(data, function (result) {
            $("#Box").append(result);//异步渲染数据
        });
    }

  常用的方法应该就这两种,有不详细的地方,可以参考官方解释。谢谢

原文地址:https://www.cnblogs.com/searchbaidu/p/5855391.html