适应laytpl 渲染模板数据

时间:2022-08-19 20:20:46

前言

当我们异步读取数据过来的时候,还要通过手动赋值,显示在页面上吗,那样你就太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);//异步渲染数据
});
}

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