官网:

http://olado.github.iodoT.js具体使用介绍

用法:

{{= }} for interpolation

{{ }} for evaluation

{{~ }} for array iteration

{{?

}} for conditionals

{{! }} for interpolation with encoding

{{# }} for compile-time evaluation/includes and partials

{{## #}} for compile-time defines



调用方式:

var tmpText = doT.template(模板);

tmpText(数据源);





样例一:

1、for interpolation 赋值

格式:

{{= }}

数据源:{"name":"Jake","age":31}



区域:<div id="interpolation"></div>

模板:

<script id="interpolationtmpl" type="text/x-dot-template">

<div>Hi {{=it.name}}!</div>

<div>{{=it.age || ''}}</div>

</script>



调用方式:

var dataInter = {"name":"Jake","age":31};

var interText = doT.template($("#interpolationtmpl").text());

$("#interpolation").html(interText(dataInter));







样例二:

2、for evaluation for in 循环

格式:

{{ for var key in data { }} 

{{= key }} 

{{ } }}

数据源:{"name":"Jake","age":31,"interests":["basketball","hockey","photography"],"contact":{"email":"jake@xyz.com","phone":"999999999"}}



区域:<div id="evaluation"></div>

模板:

<script id="evaluationtmpl" type="text/x-dot-template">

{{ for(var prop in it) { }}

<div>KEY:{{= prop }}---VALUE:{{= it[prop] }}</div>

{{ } }}

</script>

调用方式:

var dataEval = {"name":"Jake","age":31,"interests":["basketball","hockey","photography"],"contact":{"email":"jake@xyz.com","phone":"999999999"}};

var evalText = doT.template($("#evaluationtmpl").text());

$("#evaluation").html(evalText(dataEval));







样例三:

3、for array iteration 数组

格式:

{{~data.array :value:index }}

...

{{~}}

数据源:{"array":["banana","apple","orange"]}

区域:<div id="arrays"></div>



模板:

<script id="arraystmpl" type="text/x-dot-template">

{{~it.array:value:index}}

<div>{{= index+1 }}{{= value }}!</div>

{{~}}

</script>



调用方式:

var dataArr = {"array":["banana","apple","orange"]};

var arrText = doT.template($("#arraystmpl").text());

$("#arrays").html(arrText(dataArr));









样例四:

4、{{? }} for conditionals 条件

格式:

{{? }} if

{{?

?

}} else if

{{??}} else

数据源:{"name":"Jake","age":31}

区域:<div id="condition"></div>

模板:

<script id="conditionstmpl" type="text/x-dot-template">

{{?

!it.name }}

<div>Oh, I love your name, {{=it.name}}!</div>

{{?

? !it.age === 0}}

<div>Guess nobody named you yet!</div>

{{??

}}

You are {{=it.age}} and still dont have a name?

{{?}}

</script>

调用方式:

var dataEncode = {"uri":"http://bebedo.com/?keywords=Yoga","html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};

var EncodeText = doT.template($("#encodetmpl").text());

$("#encode").html(EncodeText(dataEncode));

样例五:

5、for interpolation with encoding

数据源:{"uri":"http://bebedo.com/?keywords=Yoga"}

格式:

 {{!it.uri}}



区域:<div id="encode"></div>



模板:

<script id="encodetmpl" type="text/x-dot-template">

Visit {{!it.uri}} {{!it.html}}

</script>

调用方式:

var dataEncode = {"uri":"http://bebedo.com/?

keywords=Yoga","html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};

var EncodeText = doT.template($("#encodetmpl").text());

$("#encode").html(EncodeText(dataEncode));









样例六:

6、{{# }} for compile-time evaluation/includes and partials

{{## #}} for compile-time defines

数据源:{"name":"Jake","age":31}



区域:<div id="part"></div>

模板:

<script id="parttmpl" type="text/x-dot-template">

{{##def.snippet:

<div>{{=it.name}}</div>{{#def.joke}}

#}}

{{#def.snippet}}

{{=it.html}}

</script>



调用方式:

var dataPart = {"name":"Jake","age":31,"html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};

var defPart = {"joke":"<div>{{=it.name}} who?</div>"};

var partText = doT.template($("#parttmpl").text(), undefined, defPart);

$("#part").html(partText(dataPart));

doT.js具体使用介绍的更多相关文章

  1. doT.js使用介绍

    doT.js特点是快,小,无依赖其他插件,压缩版仅有4K大小. doT.js详细使用介绍 使用方法: 1 2 3 4 5 6 7 {{ }} 模板   开始标记  结束标记 {{= }} 赋值 {{~ ...

  2. doT.js详细介绍

    doT.js详细介绍   doT.js特点是快,小,无依赖其他插件. 官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolati ...

  3. 模板引擎doT.js介绍及如何判断对象为空、如何嵌套循环···

    doT.js 灵感来源于搜寻基于 V8 和 Node.js ,强调性能,最快速最简洁的 JavaScript 模板函数 引入 javascript 文件: <script type=" ...

  4. doT.js源码解读

    doT.js非常的简洁.全部代码也就200行不到.它的基本思路就是通过强大的正则表达式,把模块转变成可执行的函数,动态生成html字符串.核心new Function(c.varname, str); ...

  5. js模板引擎介绍搜集

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

  6. dot.js教程文档api

    dot.js是一个短小精悍的js模板引擎,压缩版仅有4K大小,最近使用dot的时候整理出这个dot.js教程文档,其实称不上什么教程,只是对dot.js的介绍和实例,希望能帮助到一部分需要的人. 使用 ...

  7. doT.js实例详解

    doT.js详细介绍 doT.js特点是快,小,无依赖其他插件.官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolation{ ...

  8. MVVM前后分离轻量级框架应用juicer和doT.js

    前言      前后端开发分的越来越细化,为了方便前端工程师更好的调试后端工程师嵌套的代码,前后分离技术就出现了,简单理解其实就是Ajax异步将数据提供给JavaScript,由JavaScript进 ...

  9. dot.js使用心得

    一.dot.js介绍 最近用到的数据模板引擎有很多,今天讲的doT.js也是其中一种. doT.js的特点是体积小,速度快,并且不依赖其他插件. 官网下载:http://olado.github.io ...

随机推荐

  1. os模块 文件操作

    下面的方法可以在python程序里直接生成文件到系统路径(windows环境下测试): <<<<<<要注意字符串前面要加字母r>>>>> ...

  2. libsm6 & libgtk lost (QQ + WPS: Ubuntu)

    error while loading shared libraries: libgtk-x11-2.0.so.0: cannot openshared object file: No such fi ...

  3. AC日记——琪露诺 洛谷 P1725

    琪露诺 思路: 单调队列+dp: 然而劳资不会单调队列,所以,线段树水过; 来,上代码: #include <cstdio> #include <cstring> #inclu ...

  4. 【Kafka】《Kafka权威指南》——分区partition

    在上篇的例子里([Kafka]<Kafka权威指南>--写数据), ProducerRecord 对象包含了目标主题.键和值. Kafka 的消息是 一个个 键值对, ProducerRe ...

  5. SecureCRT的帮助文档

    [Help]->[Help Topics] Ubuntu:file:///usr/share/doc/scrt/SecureCRTHelp/SecureCRT.htm

  6. 数据库访问的弹性化---WebLogic和Oracle RAC的整合:Active GridLink

        1.  什么是Active GridLink Data Source 从Oracle WebLogic Server 10.3.4版本开始引进了一种单数据源实现来支持Oracle RAC集群. ...

  7. android windowSoftInputMode属性详解(转)

    activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一]当有焦点产生时,软键盘是隐藏还是显示 [二]是否减少活动 ...

  8. 手机APP自动化持续集成方案

    自动化测试流程 自动化测试框架

  9. Eclipse Memory Analyzer安装

    转载:http://www.jianshu.com/p/3b3c3a914724 1.下载地址:Eclipse Memory Analyzer Open Source Project   2.点击进入 ...

  10. PHP执行linux系统命令

    本文是第一篇,讲述如何在PHP中执行系统命令从而实现一些特殊的目的,比如监控服务器负载,重启MySQL.更新SVN.重启Apache等.第二篇<PHP监控linux服务器负载>:http: ...