laytpl-精致巧妙的JavaScript模板引擎

这两天在做一个mui项目,列表需要循环很多的数据。在公司同事的指引下认识了这个新的模板--laytpl。我只想说,很好用们很巧妙。

废话不多说,直接看如何使用。

首先,我们需要下载laytpl.js文件 官网http://www.layui.com/laytpl/

然后我们创建一个data.js文件用来存储数据

里面的内容我是随便创建几条假数据。

var data = {
title: "We Are Young!",
author: '王小宾',
time:"2017.7.28 19:56",
list: [{name: "齐天大圣", address: "花果山", description: "齐天大圣孙悟空,七十二变火眼金睛"},
{name: "猪八戒", address: "高老庄", description: "天蓬元帅猪八戒,三十六般变化"},
{name: "沙和尚", address: "流沙河", description: "卷帘大将沙和尚,只因打碎琉璃盏,被贬下凡间"}
],
foot:'Nothing is Impossible!!'
}

最后创建test.html来书写我们的内容,文件如下:

首先,在test.html里面引入两个js文件

然后我们现在test.html文档里面书写我们的格式内容,把样式随便写一下。其实工作中也是一般先把静态文件写好

<div id="view">
<h3>We Are Young!</h3>
<p><span>author:王小宾</span><span>time:2017.7.28</span></p>
<table>
<tr>
<th>姓名</th>
<th>住址</th>
<th>描述</th>
</tr>
<tr>
<td>孙悟空</td>
<td>花果山</td>
<td>齐天大圣火眼金睛</td>
</tr>
<tr>
<td>猪八戒</td>
<td>高老庄</td>
<td>天蓬元帅猪八戒,三十六般变化</td>
</tr>
<tr>
<td>沙和尚</td>
<td>流沙河</td>
<td>卷帘大将沙和尚,只因打碎琉璃盏,被贬下凡间</td>
</tr>
</table>
       <h2>Nothing is Impossible</h2>
</div>

编写相关css样式,至少不那么难看

        #view {
background-color: #555;
width: 500px;
height: 400px;
margin: 0 auto;
text-align: center;
padding: 20px 20px;
} #view p span {
margin-right: 20px;
} #view table {
border: 1px solid #333;
width: 100%;
} #view table tr th {
height: 50px;
background-color: #333;
} #view table tr td {
background-color: #333;
height: 30px;
}

在页面显示结果就是

准备工作已经完成,下面就开始真正的东西了。到这一步,之前id 为view的内容就可以删除不要了。

首先,我们写一个script标签,注意type一定要是  type="text/html"

        <script src="test.js" type="text/html" id="dom">
<h3>{{d.title}}</h3>
<p><span>author:{{d.author}}</span><span>time:{{d.time}}</span></p>
<table>
<tr>
<th>姓名</th>
<th>住址</th>
<th>描述</th>
</tr>
{{# for(var i = 0; i < d.list.length; i++){ }}
<tr>
<td>{{d.list[i].name}}</td>
<td>{{d.list[i].address}}</td>
<td>{{d.list[i].description}}</td>
</tr>
{{# } }}
</table>
      <h2>{{d.foot}}</h2>
</script>

而因为我们用之前在test.html里面有写好的内容,所以可以直接拿过来做改变就行了。这样我们既知道样式如何也很方便。一定要注意,laytpl数据开始都是d,

d就表示我们拿到的数据名称

我们循环的内容其实就是tr,td里面的内容,所以我们在第二个tr外面加上循环。

最后,我们在一个script标签里面写相关的js文件。很简单,就是把上面的内容拿过来显示在我们的view里面

<script type="text/javascript">
var getDom = document.getElementById("dom").innerHTML;
laytpl(getDom).render(data, function(html) {
document.getElementById("view").innerHTML = html;
})
</script>

最后刷新页面显示的结果就是

这是最基础也是最简单的内容了。掌握好继续加油!!

初识laytpl的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

随机推荐

  1. MySQL - EXISTS 和 NOT EXISTS

    语法规则:   SELECT * FROM tableName t WHERE 1 = 1 AND 2 = 2 AND EXISTS (SELECT * FROM tableName t2 WHERE ...

  2. nginx平滑升级的过程

    1.开始之前首先查看当前的使用版本以及编译时的参数: [root@www ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.12.2 ...

  3. 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1

    a,b,c,d,e=1,2,3,4,5 m = b >a and c < d n = d > e and b < a y = m or n info = ''' m is %s ...

  4. OpenCV学习笔记(七) 图像金字塔 阈值 边界

    转自: OpenCV 教程 使用 图像金字塔 进行缩放 图像金字塔是视觉运用中广泛采用的一项技术.一个图像金字塔是一系列图像的集合 - 所有图像来源于同一张原始图像 - 通过梯次向下采样获得,直到达到 ...

  5. BZOJ 4247: 挂饰

    背包裸题 #include<cstdio> #include<algorithm> using namespace std; int F[2005]; struct node{ ...

  6. Dataflow编程模型和spark streaming结合

    Dataflow编程模型和spark streaming结合 主要介绍一下Dataflow编程模型的基本思想,后面再简单比较一下Spark  streaming的编程模型 == 是什么 == 为用户提 ...

  7. 一篇文章看懂Facebook和新浪微博的智能FEED

    本文来自网易云社区 作者:孙镍波 众所周知,新浪微博的首页动态流不像微信朋友圈是按照时间顺序排列的,而是按照一种所谓的"智能排序"的方式.这种违背了用户习惯的排序方式一直被用户骂, ...

  8. IOS开发学习笔记036-UIScrollView-循环自动滚动

    实现scrollView的自动循环滚动,需要实现几个方法. 其中scrollView中始终保存三张图片,其他的图片在滚动到时再进行加载. 循环的实现主要是在setUpdate 中,如果索引为0是第一个 ...

  9. IOS开发学习笔记012-核心语法

    1.点语法 2.成员变量的作用域 3. @property和@synthesize 4.id类型 5.构造方法 6.自定义构造方法 7.模板修改 8.Category - 分类 9.类扩展 一.点语法 ...

  10. CSS视觉格式化模型

    CSS视觉格式化模型(visual formatting model)是用来处理文档并将它显示在视觉媒体上的机制.这是CSS 2.1的一个基础概念.视觉格式化模型根据CSS盒模型为文档的每个元素生成0 ...