前端模板引擎doT.js的用法
简介
一款简单好用的前端模板引擎
用法
<script type="text/javascript" src="js/doT.min.js"></script>
! 和 = 的用法与区别
<!--用户信息-->
<div class="ibBox yhxx" id="userInfo">
<script id="userTemplate" type="text/x-dot-template">
<div class="ibTitle">用户信息</div>
<dl>
<dd>
<label><em>姓名:</em><span>{{!it.name}}</span></label>
<label><em>工号:</em><span>{{=it.number}}</span></label>
<label><em>机构:</em><span>{{!it.organName}}</span></label>
</dd>
</dl>
</script>
</div>
<script>
var data = {"name":"张三","number":,"organName":""},//要渲染的数据
var userTemplate = doT.template($("#userTemplate").text());//生成模板
$("#userInfo").html(userTemplate(data));//数据渲染
</script>
两者都是赋值,区别于 ! 无法渲染数值为0的数据,而 = 可以,不过 ! 可以渲染带编码的数据,比如
var data= {"url":"http://jq22.com/?keywords=Yoga","html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};
~ 的用法
{{~it.list:item:index}}
<tr data-id="{{!item.id}}">
<td>{{!item.title}}</td>
<td>{{!item.publishTime}} </td>
</tr>
{{~}}
用于循环数组
? 的用法
<span class="{{? it.type==1}}w1{{?? it.type==2}}w2{{??}}w3{{?}}">
{{?it.status==}}未发布{{??}}已发布{{?}}
</span>
条件判断,相当于if....else if......
# 的用法
<div class="ibBox yhxx" id="userInfo">
<script id="userTemplate" type="text/x-dot-template">
<!-- 定义模板tem1 -->
{{## def.tem1:
<label><em>姓名:</em><span>{{!it.name}}</span></label>
#}}
<div class="ibTitle">用户信息</div>
<dl>
<dd>
<!-- 引用模板tem1 -->
{{#def.tem1}}
<label><em>工号:</em><span>{{=it.number}}</span></label>
<label><em>机构:</em><span>{{!it.organName}}</span></label>
</dd>
</dl>
</script>
</div>
格式:定义模板{{##def.name:******#}} name为模板名称,*****为模板内容,引用模板{{#def.name}} name为模板名称
for 原生循环的使用
{{ for(var i=;i<it.length;i++){ }}
{{ if(it[i].bz == ){ }}
{{#def.tem1}}
{{ }else{ }}
{{#def.tem2}}
{{ } }}
{{ } }}
前端模板引擎doT.js的用法的更多相关文章
- 前端模板引擎doT.js的使用
前言 我们在做前端开发时,经常需要根据后台返回的json数据动态生成html并插入到页面中显示.最简单的方法就是通过jQuery去遍历数据拼接html,如以下: <script> var ...
- 模板引擎doT.js用法详解
作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div i ...
- 模板引擎doT.js
作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div i ...
- 模板引擎doT.js介绍及如何判断对象为空、如何嵌套循环···
doT.js 灵感来源于搜寻基于 V8 和 Node.js ,强调性能,最快速最简洁的 JavaScript 模板函数 引入 javascript 文件: <script type=" ...
- 关于模板引擎handlebars.js基本用法
说明:模板引擎主要针对于渲染DOM,取代了字符串拼接,用下面的代码亲测handlebars模板引擎比字符串拼接渲染DOM慢了20ms, 这里配置一个在线DEMO,简单说明下handlebars.js的 ...
- 前端模板引擎artTemplate.js
. 关于artTemplate模板引擎的详细原理请移步高性能JavaScript模板引擎原理解析,本文只探讨如何使用.初学前端的人一般对于绑定数据都是使用原生js或者jquery来拼接字符串,此为ha ...
- 前端JS模板引擎Mustache.js的用法
Mustache.js在前端是一个非常强大的模板 Mustache用法参考
- Mustache.js前端模板引擎源码解读
mustache是一个很轻的前端模板引擎,因为之前接手的项目用了这个模板引擎,自己就也继续用了一会觉得还不错,最近项目相对没那么忙,于是就抽了点时间看了一下这个的源码.源码很少,也就只有六百多行,所以 ...
- Javascript模板引擎mustache.js详解
mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...
随机推荐
- 包教包会之Open Live Writer设置代码样式
Open Live Writer(以下简称OLW),作为一个在本地写博文,然后发布到各个博客网站的客户端,在使用上个人觉得还是比较好用的.但是其对IT博文中代码部分的内容样式支持不是很友好.下面是本人 ...
- Greenplum客户端访问控制
1. 问题描述 Greenplum默认是对客户端不开放的,即客户端要访问Greenplum数据库,需要首先开通权限. 2. 解决方案: 2.1.安装greenplum-cc-web控制台. Gp的 ...
- akka 集群分片
akka 集群 Sharding分片 分片上下级结构 集群(多台节点机) —> 每台节点机(1个片区) —> 每个片区(多个分片) —> 每个分片(多个实体) 实体: 分片管理的 A ...
- 小程序实现图片上传,预览以及图片base64位处理
最近一段时间在做小程序项目,第一期功也完工了.需要好好总结一下经验,把项目中遇到的问题好好总结一下,遇到的问题,踩过的坑.今天写一个小程序实现图片上传,预览,以及删除,图片base64位处理.下面就是 ...
- 双剑合璧——掌握 cURL 和 Dig 走天涯
如今随着大量的应用转移到网络,作为开发者,会经常做一些通讯测试,例如从网站获取信息.模拟用户向网站提交或者上传数据,查看应用通讯情况等等,现在变成了非常重要的任务. 一起来认识 cURL cURL 是 ...
- 8086 IO读写操作
如图所示,通过8086来读写io口,实现流水灯以及开关.本电路是基于8086最小模式下的三总线结构添加的,三总线结构原理较为复杂本篇就不对其原理进行介绍了,大家可以自行查阅相关引脚的功能从而实现. 本 ...
- 动手造轮子:实现一个简单的 EventBus
动手造轮子:实现一个简单的 EventBus Intro EventBus 是一种事件发布订阅模式,通过 EventBus 我们可以很方便的实现解耦,将事件的发起和事件的处理的很好的分隔开来,很好的实 ...
- NameNode故障处理方法
NameNode故障处理方法 简述 NameNode故障后,可以通过下列两种方式进行恢复数据: 方法一(手动):将SecondaryNameNode文件下的数据复制到NameNode中 方法二(程序) ...
- redis的下载与安装(linux版)
redis的下载与安装(linux版) 1.下载路径 https://redis.io/download 2.上传到linux并且解压 3.进入解压之后的redis,并且make && ...
- tornado并发性能测试
1.带server2.0装饰器 接口访问数据库查询 并发100 平均每秒处理11.8次请求 平均响应时间6944ms 接口不做任何处理 并发100 平均每秒处理99.9次请求 平均响应时间3ms 并发 ...