 
						doT.js特点是快,小,无依赖其他插件。压缩版仅有4K大小,最近使用dot的时候整理出这个dot.js教程api文档,是对dot.js的介绍和实例,希望能帮助到一部分需要的人。
| 1 2 3 4 5 6 7 | {{= }} for interpolation{{ }} for evaluation{{~ }} for array iteration{{? }} for conditionals{{! }} for interpolation with encoding{{# }} for compile-time evaluation/includes and partials{{## #}} for compile-time defines | 
| 1 2 | var tmpText = doT.template(模板);tmpText(数据源); | 
例子一:
1、for interpolation 赋值
格式:
| 1 | {{= }} | 
数据源:
| 1 | {"name":"Jake","age":31} | 
区域:
| 1 | <divid="interpolation"></div> | 
| 1 2 3 4 | <script id="interpolationtmpl"type="text/x-dot-template">    <div>Hi {{=it.name}}!</div>    <div>{{=it.age || ''}}</div></script> | 
调用方式:
| 1 2 3 | vardataInter = {"name":"Jake","age":31};varinterText = doT.template($("#interpolationtmpl").text());$("#interpolation").html(interText(dataInter)); | 
例子二:
2、for evaluation for in 循环
格式:
| 1 2 3 | {{ forvarkey indata { }} {{= key }} {{ } }} | 
数据源:
| 1 | {"name":"Jake","age":31,"interests":["basketball","hockey","photography"],"contact":{"email":"jake@xyz.com","phone":"999999999"}} | 
区域:
| 1 | <divid="evaluation"></div> | 
模板:
| 1 2 3 4 5 | <script id="evaluationtmpl"type="text/x-dot-template">    {{ for(varprop init) { }}        <div>KEY:{{= prop }}---VALUE:{{= it[prop] }}</div>    {{ } }}</script> | 
调用方式:
| 1 2 3 | vardataEval = {"name":"Jake","age":31,"interests":["basketball","hockey","photography"],"contact":{"email":"jake@xyz.com","phone":"999999999"}};varevalText = doT.template($("#evaluationtmpl").text());$("#evaluation").html(evalText(dataEval)); | 
例子三:
3、for array iteration 数组
格式:
| 1 2 3 | {{~data.array :value:index }}    ...{{~}} | 
数据源:
| 1 | {"array":["banana","apple","orange"]} | 
区域:
| 1 | <divid="arrays"></div> | 
模板:
| 1 2 3 4 5 | <script id="arraystmpl"type="text/x-dot-template">    {{~it.array:value:index}}        <div>{{= index+1 }}{{= value }}!</div>    {{~}}</script> | 
调用方式:
| 1 2 3 | vardataArr = {"array":["banana","apple","orange"]};vararrText = doT.template($("#arraystmpl").text());$("#arrays").html(arrText(dataArr)); | 
例子四:
4、{{? }} for conditionals 条件
格式:
| 1 2 3 | {{? }} if{{?? }} elseif{{??}} else | 
数据源:
| 1 | {"name":"Jake","age":31} | 
区域:
| 1 | <divid="condition"></div> | 
模板:
| 1 2 3 4 5 6 7 8 9 | <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> | 
调用方式:
| 1 2 3 | vardataEncode = {"uri":"/","html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};varEncodeText = doT.template($("#encodetmpl").text());$("#encode").html(EncodeText(dataEncode)); | 
例子五:
5、for interpolation with encoding
数据源:
| 1 | {"uri":"/"} | 
格式:
| 1 | {{!it.uri}} | 
区域:
| 1 | <divid="encode"></div> | 
模板:
| 1 2 3 | <script id="encodetmpl"type="text/x-dot-template">    Visit {{!it.uri}} {{!it.html}}</script> | 
调用方式:
| 1 2 3 | vardataEncode = {"uri":"/","html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};varEncodeText = doT.template($("#encodetmpl").text());$("#encode").html(EncodeText(dataEncode)); | 
例子六:
6、{{# }} for compile-time evaluation/includes and partials
{{## #}} for compile-time defines
数据源:
| 1 | {"name":"Jake","age":31} | 
区域:
| 1 | <divid="part"></div> | 
模板:
| 1 2 3 4 5 6 7 | <script id="parttmpl"type="text/x-dot-template">    {{##def.snippet:    <div>{{=it.name}}</div>{{#def.joke}}    #}}    {{#def.snippet}}    {{=it.html}}</script> | 
调用方式:
| 1 2 3 4 | vardataPart = {"name":"Jake","age":31,"html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};vardefPart = {"joke":"<div>{{=it.name}} who?</div>"};varpartText = doT.template($("#parttmpl").text(), undefined, defPart);$("#part").html(partText(dataPart)); | 
特别申明:
			本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
			本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
			如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com