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.
相关推荐
1. **Graphviz语法支持**:viz.js 支持Graphviz的DOT语言,这是一种用于描述图形结构的简单文本格式。开发者可以使用DOT语言编写图形描述,然后通过viz.js将其转化为可视化结果。 2. **SVG渲染**:viz.js 将DOT语言...
《Sams.Microsoft.Jscript.dot.NET Programming》是一本全面介绍 JScript.NET 的专业书籍,不仅适合初学者入门,也适合有一定经验的开发者深入了解 JScript.NET 的高级特性和应用场景。通过对本书的学习,开发者可以...
文件“Addison-Wesley.Pub.Co.A.First.Look.At.ASP.Dot.NET.v.2.0”很可能是一个关于ASP.NET v2.0的CHM电子书,通常这种格式包含丰富的帮助文档和教程。通过阅读这本书,你可以学习到ASP.NET的基础概念,如Web表单、...
动态类型使得C#可以与动态语言如Python或JavaScript进行交互,极大地扩展了C#的应用范围。命名参数和可选参数则提高了代码的可读性和灵活性,使得函数调用更加简洁。委托和事件处理的改进,如Lambda表达式和匿名方法...
然后,您需要做的就是包含以下 Javascript 文件(最新版本): https://softwarevidal.github.io/vidal-api.js/vidal-api.js : https://softwarevidal.github.io/vidal-api.js/vidal-api.js 或者,您可以运行bower ...
Node.js打字稿入门 如果需要用于Node.js开发的打字稿入门包。 您来对地方了。 存储库仅包含(就我们的观点而言)必须构建依赖项。 资料库解决了4个主要部分 在开发模式下运行-我们将ts-node用作打字稿执行环境,并...
在网页设计中,轮播图是一种常见的展示方式,它能够以动态的形式展示多张图片或内容,提升用户...在实际项目中,可以参考现有的轮播图库,如Bootstrap的Carousel组件或者Swiper.js,它们提供了更多预设的功能和优化。
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.
具有TypeScript和ESLint的Next.js 干净的Next.js + TypeScript + ESLint项目的入门代码。 更多信息在这里: : 开始吧# Install dependenciesyarn# Start dev serveryarn dev# Start tests (or yarn test --watch for...
<script type="text/javascript" src="PATH_TO/jquery.jsPlumb-1.4.0-all-min.js"> ``` 初始化 jsPlumb 只有等到 DOM 初始化完成之后才能使用,因此我们在以下代码中调用 jsPlumb 方法: ```javascript jsPlumb....
入门您可以使用yarn安装库: yarn add dot-model-2-obj 您也可以使用npm: npm install dot-model-2-obj --save用法纯JavaScript 即将推出...ES5 / ES6 即将推出...例子要运行示例,请根据您的平台执行以下步骤: 纯...
下面是一个简单的示例,展示如何使用JavaScript计算两个商品的余弦相似度: ```javascript // 商品特征向量 let item1 = [1, 0, 1, 0]; let item2 = [0, 1, 1, 1]; function cosineSimilarity(a, b) { let dot...
│ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...
<script type="text/javascript" src="PATH_TO/jquery.jsPlumb-1.4.0-all-min.js"> ``` 在DOM加载完成后,使用`jsPlumb.ready`函数来初始化jsPlumb。这样可以确保所有HTML元素都已准备就绪,可以进行操作: ```...
这是一个用引导的项目。入门首先,运行开发服务器: npm run dev# oryarn dev 用浏览器打开以查看结果...在Vercel上部署部署Next.js应用程序的最简单方法是使用Next.js创建者提供的。 请查看我们的以获取更多详细信息。
这是一个用引导的项目。入门首先,运行开发服务器: npm run dev# oryarn dev 用浏览器打开以查看结果...在Vercel上部署部署Next.js应用程序的最简单方法是使用Next.js创建者提供的。 请查看我们的以获取更多详细信息。
│ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...
│ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...
│ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif ...