dot.js教程文档api
dot.js是一个短小精悍的js模板引擎,压缩版仅有4K大小,最近使用dot的时候整理出这个dot.js教程文档,其实称不上什么教程,只是对dot.js的介绍和实例,希望能帮助到一部分需要的人。
使用方法:
{{= }} for 赋值
{{ }} for evaluation
{{~ }} for for循环数组
{{? }} for if判断
{{! }} for html标签是否转义
{{# }} for compile-time evaluation/includes and partials
{{## #}} for compile-time defines
dot.js调用方式:
var tmpText = doT.template(模板);
tmpText(数据源);
dot.js读取单个js对象
数据:{name:"张三",age:"24",sex:"男"}
<!--直接读取单个对象数据-->
<script id="tpl1" type="text/dot-tpl">
<table>
<tr><th>姓名</th><th>年龄</th><th>性别</th></tr>
<tr><td>{{= it.name}}</td><td>{{= it.age}}</td><td>{{= it.sex||"暂无"}}</td></tr>
</table>
</script>
<script>
var data1 = {name:"张三",age:"24",sex:"男"};
var tpl1= doT.template( $id("tpl1").innerHTML );
console.log("读取单个对象数据:"+tpl1(data1) );
</script>
jquery特效整理
dot.js遍历js数组 (for循环)
数据:[["张三","24","男"],["李四","30","女"]],当然这里改成外面是数组里面是对象也可以,如:[{name:"张三"},{name:"李四"},...]当然这个时候模板中就要用如:{{= it[index].name}}取值了
<!--读取数组数据-->
<script id="tpl2" type="text/dot-tpl">
<ol>
{{~ it:value:index}}
<li>{{= index+1}}:{{= it[index][0]}}</li><li>{{= it[index][1]}}</li><li>{{= it[index][2]||"暂无"}}</li>
{{~}}
</ol>
</script>
<script>
var data2 = [["张三","24","男"],["李四","30","女"]];
var tpl2= doT.template( $id("tpl2").innerHTML );
console.log("读取数组数据:"+tpl2(data2) );
</script>
dot.js遍历js对象,(for in)
数据:{"001":{name:"张三",age:"24",sex:"男"},"002":{name:"李四",age:"26",sex:"男"}}
<!--读取数组数据-->
<script id="tpl3" type="text/dot-tpl">
<table>
<tr><th>姓名</th><th>年龄</th><th>性别</th></tr>
{{ for(var key in it) { }}
<tr><td>{{= key}}:{{= it[key].name }}</td><td>{{= it[key].age }}</td><td>{{= it[key].sex }}</td></tr>
{{ } }}
</table>
</script>
<script>
var data3 = {"001":{name:"张三",age:"24",sex:"男"},"002":{name:"李四",age:"26",sex:"男"}};
var tpl3= doT.template( $id("tpl3").innerHTML );
console.log("遍历js对象:"+tpl3(data3) );
</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="doT.js"></script>
</head>
<body>
<div class="body1"></div>
<div class="body2"></div>
<div class="body3"></div>
<!--直接读取单个对象数据 -->
<script id="tpl1" type="text/dot-tpl">
<table>
<tr><th>姓名</th><th>年龄</th><th>性别</th></tr>
<tr><td>{{= it.name}}</td><td>{{= it.age}}</td><td>{{= it.sex||"暂无"}}</td></tr>
</table>
</script>
<script>
var data1 = {name:"张三",age:"",sex:"男"};
var tpl1= doT.template( $("#tpl1").html() );
console.log("读取单个对象数据:"+tpl1(data1) );
$('.body1').prepend(tpl1(data1));
</script> <!--读取数组数据 (for循环)-->
<script id="tpl2" type="text/dot-tpl">
<ol>
{{~ it:value:index}}
<li>{{= index+}}:{{= it[index][]}}</li><li>{{= it[index][]}}</li><li>{{= it[index][]||"暂无"}}</li>
{{~}}
</ol>
</script>
<script>
var data2 = [["张三","","男"],["李四","","女"]];
var tpl2= doT.template( $("#tpl2").html() );
console.log("读取数组数据:"+tpl2(data2) );
$('.body2').prepend(tpl2(data2));
</script> <!--读取遍历js对象(for in) -->
<script id="tpl3" type="text/dot-tpl">
<table>
<tr><th>姓名</th><th>年龄</th><th>性别</th></tr>
{{ for(var key in it) { }}
<tr><td>{{= key}}:{{= it[key].name }}</td><td>{{= it[key].age }}</td><td>{{= it[key].sex }}</td></tr>
{{ } }}
</table>
</script>
<script>
var data3 = {"":{name:"张三",age:"",sex:"男"},"":{name:"李四",age:"",sex:"男"}};
var tpl3= doT.template( $("#tpl3").html() );
console.log("遍历js对象:"+tpl3(data3) );
$('.body3').prepend(tpl3(data3));
</script> </body>
</html>
dot.js教程文档api的更多相关文章
- ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 转载请注明出处:http://www.cnblogs.com/yabu007/ 谢谢 官方文档分四部分 一. 教程文档 二.ABP 框架 三. ...
- jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。
jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...
- jQuery全屏滚动插件fullPage.js中文帮助文档API
jQuery全屏滚动插件fullPage.js中文帮助文档API 发现了一个fullPage.js插件,于是百度了一下,还就是这个插件的作用,其实有很多网站都做了全屏滚动的特效,效果也很好看,今天 ...
- ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...
- 【转帖】(一)unity4.6Ugui中文教程文档-------概要
原帖至上,移步请戳:(一)unity4.6Ugui中文教程文档-------概要 unity4.6中的一个重要的升级就是GUI ,也把它称为UGUI ,废话我不多说,大家可以百度了解一下. 虽然现在处 ...
- atitit.微信支付的教程文档 attilax总结
atitit.微信支付的教程文档 attilax总结 1. 支付流程概览 1 2. 设置支付起始文件夹 host/app/paydir/ 1 3. 设置oauth验证域名 1 4. 測试文件夹 能 ...
- 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core
百度地图和高德地图坐标系的互相转换 GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...
- 【转】(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text
原创至上,移步请戳:(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text 7.Rich Text UI元素和文本网格的文本可以合并多个字体样式和大小.对 UI系统 ...
- 【转】(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout
原创至上,移步请戳:(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout 6. Auto Layout Rect Transform布局系统是足够灵活,可以处 ...
随机推荐
- HTML5 自定义属性 data-*介绍
在HTML5之前HTML4我们也可以自定义属性通过setAttribute去设置或者直接写在HTML标签里面那么HTML5新增data-*(*可以替换成你喜欢的任意名字)属性有什么用呢? 更便的捷操作 ...
- 从汇编看c++对静态成员的存取
c++中静态成员变量不存在于对象之中,而存在于全局数据段,只是其可见性受到限制,仅能被所属类访问,而非静态成员变量存在于对象中,因而,在访问两种不同数据成员时,会有些许差别.对于静态数据成员的访问,是 ...
- 简单的JQuery top返回顶部
一个最简单的JQuery Top返回的代码,Mark一下: HTML如下: <div id="backtop"> <a href="javascript ...
- 在Struts2中使用poi进行excel操作下载的时候报getOutputStream() has already been called for this response 错误 [转]
在项目中用到了poi这个开源的操作excel文件的jar. 项目中用到struts2容器管理servlet.不是单纯的直接用servlet. workbook.write(os); ...
- spring下配置dbcp,c3p0,proxool[转]
不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的.在以往的应用中,数据源一般是Web应用服务器提供的.在Spring中,你不但可以通过JNDI获取应用 ...
- HTML5 drawImage 使用问题
使用Image遇到的问题: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- 变态最大值--nyoj题目811
变态最大值 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解 ...
- 补丁惹的祸-ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService
未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出 问题: 重新安装了VS2012,结 ...
- Serv-U无法连接到服务器127.0.0.1,端口43958 FTP服务器不能启动
端口43958,这是Serv-U的本地管理端口,只允许127.0.0.1连接. 在出现“Serv-U无法连接到服务器127.0.0.1,端口43958”这个错误的时候,一般ftp软件无法自动启动 ...
- 栈ADT的数组实现
/* 栈的数组实现声明 */ struct StackRecord; typedef struct StackRecord *Stack; #define MinSstackSize 5 #defin ...