前端模板引擎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,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...
随机推荐
- 用JavaScript做一個簡單的計算器
今天繼續學習JavaScript,視頻講的確實挺差勁的.還是只能跟著W3School自己慢慢摸索著弄了.自己百度了一下,參考了一個大佬寫的一個簡單的計算器代碼.代碼能跑通,但是做出來的樣子實在是感覺太 ...
- C# 管道式编程
受 F# 中的管道运算符和 C# 中的 LINQ 语法,管道式编程为 C# 提供了更加灵活性的功能性编程.通过使用 扩展函数 可以将多个功能连接起来构建成一个管道. 前言 在 C# 编程中,管道式编程 ...
- Python之爬虫有感(一)
urllib.request.Request('URL',headers = headers)User-Agent 是爬虫和反爬虫斗争的第一步,发送请求必须带User—Agent使用流程: 1. ...
- NET多线程之进程间同步锁Mutex
Mutex类似于lock.Monitor,都是为了解决多线程环境下,资源竞争导致的访问顺序问题.常见资源竞争有以下情况: 1.单例,如何确保单例: 2.IO文件操作,如果同时又多个线程访问同一个文件会 ...
- mac 部署安装接口自动化持续集成 jmeter+ant+jenkins
由于前段时间刚换的工作,公司用的是mac电脑办公,之前办公都是windows系统.刚开始使用时连基本的操作都要去找度娘,很不习惯,新电脑开始就是安装相关的工作工具 下面就说说遇到的哪些坑. 1. m ...
- blog更新
特别感谢: yu__xuan (啊这位着重感谢,多次帮助,于是帮他宣传一下https://www.cnblogs.com/poi-bolg-poi/) widerg 为两位大佬撒花~
- C语言调用VIX_API开关虚拟机
#include <stdio.h> #include <stdlib.h> #include "vix.h" #define USE_WORKSTATIO ...
- Java NIO学习系列五:I/O模型
前面总结了很多IO.NIO相关的基础知识点,还总结了IO和NIO之间的区别及各自适用场景,本文会从另一个视角来学习一下IO,即IO模型.什么是IO模型?对于不同人.在不同场景下给出的答案是不同的,所以 ...
- c语言进阶11-经典算法代码
重要算法一览 #include "stdio.h" #include "stdio.h" void main() { int a,b,c,i,n; int x, ...
- Centos7 安装Homestead环境
问题1, ==> homestead-7: Waiting for machine to boot. This may take a few minutes... homestead-7: SS ...