`
0情非得已0
  • 浏览: 3673 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

doT.js简单入门

    博客分类:
  • 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}}</p>
<p>{{=it.html}}</p>
<p>{{!it.html}}</p>
</script>
<script type="text/javascript" src="../../doT.js"></script>
<script type="text/javascript">
var dataJSON = {"name": "AlanJ", "age": "20", "html": "<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};
var html = doT.template(document.getElementById("dot-template").text)(dataJSON);
document.getElementById("info").innerHTML = html;
</script>

 结果:

 

2.判断 if:{{? }}   else if:{{??}} 

<div id="info"></div>
<script id="dot-template" type="text/x-dot-template">
<p>name:{{=it.name}}</p>
<p>score:{{=it.score}}</p>
{{? it.score < 60}}
<p>不及格</p>
{{?? it.score < 80}}
<p>及格</p>
{{??}}
<p>优秀</p>
{{?}}
</script>
<script type="text/javascript" src="../../doT.js"></script>
<script type="text/javascript">
var dataJSON = {"name": "AlanJ", "score": "100"};
var html = doT.template(document.getElementById("dot-template").text)(dataJSON);
document.getElementById("info").innerHTML = html;
</script>

 结果:



 

3.循环  for each {{~it :item:index}}  {{~}}    for in: {{for (var index in it){ }}  {{ } }}

-------------------------------------for each----------------------------------------------
<ul id="info1"></ul>
-------------------------------------for in----------------------------------------------
<ul id="info2"></ul>
<script id="dot-template1" type="text/x-dot-template">
{{~it :item:index}}
<li>
<p>index:{{=index + 1}}</p>
<p>name:{{=item.name}}</p>
<p>age:{{=item.age}}</p>
</li>
{{~}}
</script>
<script id="dot-template2" type="text/x-dot-template">
{{for (var index in it){ }}
<li>
<p>index:{{=index + 1}}</p>
<p>name:{{=it[index].name}}</p>
<p>name:{{=it[index].age}}</p>
</li>
{{}}}
</script>
<script type="text/javascript" src="../../doT.js"></script>
<script type="text/javascript">
var dataJSONArray = [{"name": "AlanJ", "age": "20"}, {"name": "Jack", "age": "40"}, {"name": "ClearLove", "age": "60"}];
var html1 = doT.template(document.getElementById("dot-template1").text)(dataJSONArray);
document.getElementById("info1").innerHTML = html1;
var html2 = doT.template(document.getElementById("dot-template2").text)(dataJSONArray);
document.getElementById("info2").innerHTML = html2;
</script>

 结果:



 

4.partials (个人理解:部分拼接 )  全:{{##def.snippet:{{#def.joke}}#}}{{#def.snippet}} 简:{{#def.joke}}

<div id="info"></div>
<script id="dot-template" type="text/x-dot-template">
<div>{{=it.name}}</div>
{{##def.snippet:
{{#def.joke}}
#}}
{{#def.snippet}}

{{#def.joke}}
</script>
<script type="text/javascript" src="../../doT.js"></script>
<script type="text/javascript">
var dataJSON ={"name":"AlanJ"};
var defPart = {"joke":"<div>{{=it.name}} who?</div>"};
var html = doT.template(document.getElementById("dot-template").text, null, defPart)(dataJSON);

document.getElementById("info").innerHTML = html;
</script>

 结果:



 

 

 

总结:

 doT.js用法还是比较简单的,工作中多用于分页, 特别是后台常bootstrap结合使用。

参考文档:http://olado.github.io/doT/

源代码:https://github.com/olado/doT

 

文中demo请查看doT.zip.  

 

 

  • 大小: 8.4 KB
  • 大小: 2.3 KB
  • 大小: 1.4 KB
  • 大小: 19.3 KB
分享到:
评论

相关推荐

    前端项目-viz.js.zip

    1. **Graphviz语法支持**:viz.js 支持Graphviz的DOT语言,这是一种用于描述图形结构的简单文本格式。开发者可以使用DOT语言编写图形描述,然后通过viz.js将其转化为可视化结果。 2. **SVG渲染**:viz.js 将DOT语言...

    Sams.Microsoft.Jscript.dot.NET.Programming.Dec.2001

    《Sams.Microsoft.Jscript.dot.NET Programming》是一本全面介绍 JScript.NET 的专业书籍,不仅适合初学者入门,也适合有一定经验的开发者深入了解 JScript.NET 的高级特性和应用场景。通过对本书的学习,开发者可以...

    ASP.NET.v.2.0入门

    文件“Addison-Wesley.Pub.Co.A.First.Look.At.ASP.Dot.NET.v.2.0”很可能是一个关于ASP.NET v2.0的CHM电子书,通常这种格式包含丰富的帮助文档和教程。通过阅读这本书,你可以学习到ASP.NET的基础概念,如Web表单、...

    Wrox.Professional.C.Sharp.4.0.and.dot.NET.4.Mar.2010上部分.pdf

    动态类型使得C#可以与动态语言如Python或JavaScript进行交互,极大地扩展了C#的应用范围。命名参数和可选参数则提高了代码的可读性和灵活性,使得函数调用更加简洁。委托和事件处理的改进,如Lambda表达式和匿名方法...

    vidal-api.js:REST API Javascript SDK

    然后,您需要做的就是包含以下 Javascript 文件(最新版本): https://softwarevidal.github.io/vidal-api.js/vidal-api.js : https://softwarevidal.github.io/vidal-api.js/vidal-api.js 或者,您可以运行bower ...

    nodejs-typescript-starter:用于typescriptnode.js开发的Typescript入门包

    Node.js打字稿入门 如果需要用于Node.js开发的打字稿入门包。 您来对地方了。 存储库仅包含(就我们的观点而言)必须构建依赖项。 资料库解决了4个主要部分 在开发模式下运行-我们将ts-node用作打字稿执行环境,并...

    html+css实现轮播图_js_源码

    在网页设计中,轮播图是一种常见的展示方式,它能够以动态的形式展示多张图片或内容,提升用户...在实际项目中,可以参考现有的轮播图库,如Bootstrap的Carousel组件或者Swiper.js,它们提供了更多预设的功能和优化。

    使用Visual C# 开发asp NET入门

    Chris Ullman is a freelance Web ... ColdFusion, JavaScript, Web Services, C#, XML and other Internet-related technologies too esoteric to mention, now swallowed up in the quicksands of the dot.com boom.

    next-typescript:干净的Next.js + TypeScript + ESLint项目的入门模板

    具有TypeScript和ESLint的Next.js 干净的Next.js + TypeScript + ESLint项目的入门代码。 更多信息在这里: : 开始吧# Install dependenciesyarn# Start dev serveryarn dev# Start tests (or yarn test --watch for...

    jsPlumb开发入门教程(实现html5拖拽连线).pdf

    &lt;script type="text/javascript" src="PATH_TO/jquery.jsPlumb-1.4.0-all-min.js"&gt; ``` 初始化 jsPlumb 只有等到 DOM 初始化完成之后才能使用,因此我们在以下代码中调用 jsPlumb 方法: ```javascript jsPlumb....

    dot-model-2-obj:在JavaScript中将.model 3D文件转码为.obj

    入门您可以使用yarn安装库: yarn add dot-model-2-obj 您也可以使用npm: npm install dot-model-2-obj --save用法纯JavaScript 即将推出...ES5 / ES6 即将推出...例子要运行示例,请根据您的平台执行以下步骤: 纯...

    js 菜鸟入门 如何通过算法给对应的人推送需要的商品

    下面是一个简单的示例,展示如何使用JavaScript计算两个商品的余弦相似度: ```javascript // 商品特征向量 let item1 = [1, 0, 1, 0]; let item2 = [0, 1, 1, 1]; function cosineSimilarity(a, b) { let dot...

    java面试题及技巧3

    │ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...

    jsPlumb开发入门教程(实现html5拖拽连线)借鉴.pdf

    &lt;script type="text/javascript" src="PATH_TO/jquery.jsPlumb-1.4.0-all-min.js"&gt; ``` 在DOM加载完成后,使用`jsPlumb.ready`函数来初始化jsPlumb。这样可以确保所有HTML元素都已准备就绪,可以进行操作: ```...

    kiriny-dot-dev

    这是一个用引导的项目。入门首先,运行开发服务器: npm run dev# oryarn dev 用浏览器打开以查看结果...在Vercel上部署部署Next.js应用程序的最简单方法是使用Next.js创建者提供的。 请查看我们的以获取更多详细信息。

    jongrim-dot-dev

    这是一个用引导的项目。入门首先,运行开发服务器: npm run dev# oryarn dev 用浏览器打开以查看结果...在Vercel上部署部署Next.js应用程序的最简单方法是使用Next.js创建者提供的。 请查看我们的以获取更多详细信息。

    java面试题以及技巧

    │ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...

    java面试题目与技巧1

    │ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...

    java面试题及技巧4

    │ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...

Global site tag (gtag.js) - Google Analytics