一、dot.js介绍

最近用到的数据模板引擎有很多,今天讲的doT.js也是其中一种。

doT.js的特点是体积小,速度快,并且不依赖其他插件。

官网下载:http://olado.github.io/doT/index.html

二、使用方法

<ul id="list"></ul>  //HTML内容 下面的例子都用这一个html
var Content = [{ID:1,title:'测试1'},{ID:2,title:'测试2'},{ID:3,title:'测试3'}]
//简单封装的方法
dotTemplate('list','listTem',Content)
//id:随意啦,
//type:html/template 或 text/x-dot-template 或 text/template //常用语法 if for
//1.for 循环
//JS模板
<script id="listTem" type="html/template">
{{for(var item in it){ }} //开始for循环
<li>{{= it[item].list}}</li>
{{ } }} //for循环结束
</script>
注意:使用for时 后面的‘{ ’一定要加上,并且一定要有结束语句 {{ } }}
//2.if....else 语句
//JS模板
<script id="listTem" type="html/template">
{{for(var item in it){ }}
{{?(it[item].ID !=1 )}} //? 相当于 if
<li>{{= it[item].title}}</li>
{{??}} // ?? 相当于 else
<li>{{= it[item].ID}}</li>
{{?}} //if 闭合标签
{{ } }}
</script>
或者
<script id="listTem" type="html/template">
{{for(var item in it){ }}
{{if(it[item].ID !=1 ){ }} //
<li>{{= it[item].title}}</li>
{{ }else{ }} //
<li>{{= it[item].ID}}</li>
{{ } }} //if 闭合标签
{{ } }}
</script>

//1、dot模板封装
function dotTemplate(domId, temId, data) {
//temId:模板ID,domId:元素的ID,data:参数
  var dom = document.querySelector('#' + domId) //获取DOM标签
  var tem = document.querySelector('#' + temId).innerHTML; //获取模板内容
  var dot = doT.template(tem); //使用dot语法编译模板
  dom.innerHTML = dot(data); //编译之后的模板插入DOM标签
}

dot.js使用心得的更多相关文章

  1. doT js 模板引擎【初探】要优雅不要污

    js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. ...

  2. doT.js

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

  3. doT.js学习

    doT.js特点是快,小,无依赖其他插件.但是一般和jquery一起使用 官网:http://olado.github.io 使用方法:{{= }} for interpolation{{ }} fo ...

  4. doT.js详细介绍

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

  5. doT.js源码解读

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

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

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

  7. dot.js教程文档api

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

  8. doT.js 模板引擎的使用

    dot.js是一个模板框架,在web前端使用. dot.js作为模板引擎, 主要的用途就是,在写好的模板上,放进数据,生成含有数据的html代码. 这是很简单的web前端模板框架, 简单说几个东西,你 ...

  9. doT js模板入门

    doT.js github地址: doT.js 官方站点 实例1:简单 <!DOCTYPE html> <html lang="en"> <head& ...

随机推荐

  1. 《学习OpenCV》课后习题解答6

    题目:(P104) 使用cvCmp()创建一个掩码.加载一个真实的图像.使用cvsplit()将图像分割成红,绿,蓝三个单通道图像. a.找到并显示绿图. b.克隆这个绿图两次(分别命名为clone1 ...

  2. java 基础 --匿名内部类-008

    不全代码 interface Inter(){void show();} class Outer{补全代码} class OuterDemo{ public static void main(Stri ...

  3. 如何用grep命令同时显示匹配行上下的n行 (美团面试题目)

    标准unix/linux下的grep通过以下参数控制上下文 grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行grep -B 5 foo file 显示foo及前5 ...

  4. 从一个简单的main方法执行谈谈JVM工作机制

    本来JVM的工作原理浅到可以泛泛而谈,但如果真的想把JVM工作机制弄清楚,实在是很难,涉及到的知识领域太多.所以,本文通过简单的mian方法执行,浅谈JVM工作原理,看看JVM里面都发生了什么. 先上 ...

  5. 状态压缩---UVA6625 - Diagrams & Tableaux

    比赛的时候刷出来的第一个状态DP.(期间有点没有把握是状态DP呢.) 题意:题意还是简单的.K行的方格.之后输入L1~LK 代表每一行方格数.在这些往左紧挨的方格子里填上1~N的数字. 其中右边格子的 ...

  6. BZOJ1801:[AHOI2009]中国象棋——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1801 https://www.luogu.org/problemnew/show/P2051 这次小 ...

  7. ES6装饰器Decorator基本用法

    1. 基本形式 @decorator class A {} // 等同于 class A {} A = decorator(A); 装饰器在javascript中仅仅可以修饰类和属性,不能修饰函数.装 ...

  8. bzoj1062【Noi2008】糖果雨

    orz.....神tm数形结合题 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1062 插入线段,删除线段,查询区间内线段个数,线段随时间往复 ...

  9. anroid 6.0.1_r77源码编译

    一.源码下载(基本类似4.4.4_r1) 二.必须使用openjdk1.7 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update ...

  10. 使用openssl进行文件加密

    #include <iostream> #include <string> #include <stdlib.h> using namespace std; int ...