dot.js使用心得
一、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使用心得的更多相关文章
- doT js 模板引擎【初探】要优雅不要污
js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. ...
- doT.js
最近用到的数据模板引擎有很多,今天讲的doT.js也是其中一种. doT.js的特点是体积小,速度快,并且不依赖其他插件. 官网下载:http://olado.github.io 下面是用法: 模板引 ...
- doT.js学习
doT.js特点是快,小,无依赖其他插件.但是一般和jquery一起使用 官网:http://olado.github.io 使用方法:{{= }} for interpolation{{ }} fo ...
- doT.js详细介绍
doT.js详细介绍 doT.js特点是快,小,无依赖其他插件. 官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolati ...
- doT.js源码解读
doT.js非常的简洁.全部代码也就200行不到.它的基本思路就是通过强大的正则表达式,把模块转变成可执行的函数,动态生成html字符串.核心new Function(c.varname, str); ...
- 模板引擎doT.js介绍及如何判断对象为空、如何嵌套循环···
doT.js 灵感来源于搜寻基于 V8 和 Node.js ,强调性能,最快速最简洁的 JavaScript 模板函数 引入 javascript 文件: <script type=" ...
- dot.js教程文档api
dot.js是一个短小精悍的js模板引擎,压缩版仅有4K大小,最近使用dot的时候整理出这个dot.js教程文档,其实称不上什么教程,只是对dot.js的介绍和实例,希望能帮助到一部分需要的人. 使用 ...
- doT.js 模板引擎的使用
dot.js是一个模板框架,在web前端使用. dot.js作为模板引擎, 主要的用途就是,在写好的模板上,放进数据,生成含有数据的html代码. 这是很简单的web前端模板框架, 简单说几个东西,你 ...
- doT js模板入门
doT.js github地址: doT.js 官方站点 实例1:简单 <!DOCTYPE html> <html lang="en"> <head& ...
随机推荐
- phpshell提权
实际操作中可以在webshell用udf.dll提权,用函数的上传文件功能上传文件到启动目录,再用shut函数重起系统.(目前没成功过,有 机会本地测试一下,先记录在这了).如果是英文版的系统,启动目 ...
- Unity3d学习日记(二)
跟着教程做让背景可以滚动起来并添加了背景的粒子特效,加入了敌机. ctrl攻击,↑↓←→移动,Game Over后按R重新开始游戏. Space Shooter游戏地址:http://ya ...
- js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周
//格式化日期:yyyy-MM-dd function formatDate(date) { var myyear = date.getFullYear(); var mymonth = da ...
- java得到当前时间
SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date ...
- BZOJ 1057 棋盘制作(最大01相间子矩阵)
求最大01相间子矩阵可以转换为求最大全0子矩阵.只需把棋盘(x+y)为奇数的取反,而该问题可以用经典的悬线法O(n^2)的求解. 悬线法呢. 首先定义b[i][j],为a[i][j]向上的最大连续0的 ...
- 基于jquery的移动端JS无缝切换
Html: <div id="slide-box-1"> <ul> <li> <a href="javascript:void( ...
- BZOJ4650:[NOI2016]优秀的拆分——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4650 https://www.luogu.org/problemnew/show/P1117 如果 ...
- LOJ2587:[APIO2018]铁人两项——题解
https://loj.ac/problem/2587#submit_code (题面来自LOJ) 考试时候发觉树很可做,并且写了一个dp骗到了树的分. 苦于不会圆方树……现在回来发现这题还是很可做的 ...
- BZOJ2588 Count on a tree 【树上主席树】
2588: Spoj 10628. Count on a tree Time Limit: 12 Sec Memory Limit: 128 MB Submit: 7577 Solved: 185 ...
- 项目管理---git----快速使用git笔记(七)------coding.net项目管理多人操作的流程规范--合并代码审核
我们在前面已经介绍了coding.net和本地git的基本用法. 但是多人协作开发时情况会复杂得多,所以我们最好有一些规范来保证项目多人开发顺利进行. 比如说 规范一 master代码分支 需要开启 ...