doT.js具体使用介绍

官网:

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":"[email protected]","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":"[email protected]","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));

时间: 2024-11-05 11:47:53

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

doT.js详细使用介绍

官网: 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

doT.js详细介绍

doT.js详细介绍 doT.js特点是快,小,无依赖其他插件. 官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolation{{ }} for evaluation{{~ }} for array iteration{{? }} for conditionals{{! }} for interpolation with encoding{{# }} for compile-time evaluation/includes

doT.js 模板引擎的使用

模版引擎之前在介绍mustache时已经提到了.doT.mustache各有优势吧,如果用于JS环境,doT的性能更胜一筹,并且套语句更方便些.现在公司的mobile页面已经被我替换成doT了. doT source: https://github.com/olado/doTDocs: http://olado.github.com/doT/ doT上手比较容易,但之前熟悉了mustache,改用doT时有点不习惯,但用两次就好了. 下载doT.js(里面有个doU.js不要用,doU.js是为

js模板引擎介绍搜集

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板

doT.js源码解读

doT.js非常的简洁.全部代码也就200行不到.它的基本思路就是通过强大的正则表达式,把模块转变成可执行的函数,动态生成html字符串.核心new Function(c.varname, str); 对于Function的介绍,可以移步到:http://www.w3school.com.cn/js/pro_js_functions_function_object.asp 对于正则表达式的介绍,可以移步到:http://baike.baidu.com/link?url=xWagu_y8HrRlR

amazeui+doT.js+sea.js项目开发总结

最近在做一个银联商务的移动web项目,并不是一个跨平台的h5app而是一个跨终端移动web吧.因为如果做h5app我是不会选择这三个框架支持的哈哈.那样会选择sencha或是dojo吧.这里简单介绍下我使用的经验分享吧. 先说一下amazeui 轻量级高性能 它对于初试h5开发的人很有帮助,丰富的js组建,css组件,web组件很好.几乎都是页面里面能用到的.解决不少工作量,记得js组件可以很好的搭配ui使用,可以很好的把一个界面分成几个部分开发,做到真正类似app 的界面模块化开发,让繁重的界

dot.js简单入门

doT.js是一个轻量简单的模板输出js. 下面介绍一下它的基本用法.1.输出   基本输出:{{= }}     原样输出:{{! }} <div id="info"></div> <script id="dot-template" type="text/x-dot-template"> <p>name:{{=it.name}}</p> <p>age:{{=it.age}}

模板引擎doT.js

作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div id="testid"></div> <script type="text/javascript"> var testjson={"name":"张三","age":31,"

为什么我要用 Node.js? 案例逐一介绍

介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象,因为仅仅在几年前 Javascript 还如同 Flash 或者 Java applet 那样嵌入网页在沙箱环境中运行. 在深入Node.js之前,你可能需要阅读和了解使用跨栈式JavaScript(JavaScript across the stack)带来的好处,它统