doT.js 模板引擎
来源:互联网 发布:日本娱乐圈黑料 知乎 编辑:程序博客网 时间:2024/05/16 11:02
doT.js特点是快,小,无依赖其他插件。
官网:
http://olado.github.io
使用方法:
{{= }} 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(数据源);
下面请欣赏小例旬的颜值…
div部分:
<!-- 循环 --><ul id="forDo"><script type="text/template" charset="utf-8" id='demo_1'>{{if( it && it.length>0 ){}}{{for(var i=0;i<it.length;i++){}} <li>{{=it[i].name}}</li>{{ } }}{{ }else{ }} <li>没有数据</li>{{ } }} </script></ul><!-- 取值 --><div id="interpolationtmpl_1"> <script id="interpolationtmpl" type="text/x-dot-template"> <div>Hi {{=it.name}} !</div> <div>{{=it.gender || ''}}</div> </script></div><br/><!-- 判断 格式:{{? }} if{{?? }} else if{{??}} else--><div id='conditionstmpl_1'> <script id="conditionstmpl" type="text/x-dot-template"> {{? !it.name }} <div>哇,兵长太帅受不了,我的 {{=it.name}}!</div> {{?? !it.height === 0}} <div>进击的巨人第二季你看了嘛!</div> {{??}} 虽然你的身高只有{{=it.height}} 但是不耽误你的帅气,兵长兵长~~ {{?}} </script></div>
JS部分:
// 循环var _demo=document.getElementById('demo_1').innerHTML;var obj=[{name:'乔巴'},{name:'罗'},{name:'女帝'}];document.getElementById('forDo').innerHTML= doT.template(_demo)(obj);// 取值var dataInter = {"name":"污力穷小可矮","gender":'色女'};var interText = document.getElementById('interpolationtmpl').innerHTML;document.getElementById('interpolationtmpl_1').innerHTML= doT.template(interText)(dataInter);//判断var EncodeText =document.getElementById('conditionstmpl').innerHTML;var dataEncode = {"name":"利威尔","height":'160cm'};document.getElementById('conditionstmpl_1').innerHTML= doT.template(EncodeText)(dataEncode);
数组
div部分
<div id="arraystmpl_1"><script id="arraystmpl" type="text/x-dot-template">{{~it.array:value:index}}<div>{{=index+1}}{{=value}}</div>{{~}} (不要忘记这个小尾巴)</script></div>
上面的html大家可以试着调换一下value、index的位置,看刊数值显示的位置。
JS部分
//数组var arrText = document.getElementById('arraystmpl').innerHTML;var dataArr = {"array":["红豆","大红豆","芋头"]};document.getElementById('arraystmpl_1').innerHTML=doT.template(arrText)(dataArr);
渲染出:
DIV 部分
<!-- 没有准确用词1 --><div id="encodetmpl_1"> <script id="encodetmpl" type="text/x-dot-template"> Visit {{!it.uri}} {{=it.html}}</script></div>
JS 部分
var EncodeText = document.getElementById('encodetmpl').innerHTML;var dataEncode = {"uri":"https://github.com/olado/doT","html":"<div style='background: #f00; height: 30px; line-height: 30px;'>html元素</div>"};document.getElementById('encodetmpl_1').innerHTML=doT.template(EncodeText)(dataEncode);
渲染结果:
阅读全文
0 0
- doT.js 模板引擎
- doT.js 模板引擎学习摘记
- doT.js 模板引擎的使用
- doT.js 模板引擎的使用
- doT模板引擎
- doT.js——前端javascript模板引擎问题备忘录
- html模板引擎(doT.min.js)和分页插件
- doT js模板入门
- nodejs模板引擎doT使用方法
- doT模板引擎源码分析
- doT js模板入门 2
- doT js模板入门 3
- 模板引擎doT.js介绍及如何判断对象为空、如何嵌套循环···
- “EasyTemplate” JS模板引擎
- 浅析js模板引擎
- TrimPath - Js模板引擎
- js模板引擎介绍
- JS模板引擎
- Spring之bean
- Cygwin中vi编辑器方向键和Backspace键不好使的解决方法
- 创建表空间
- 磁疗有用吗?脉冲磁场应用于肿瘤治疗
- SpringBoot配置优先级
- doT.js 模板引擎
- Android 如何调用第三方.so (.a) 文件
- Kafka 分布式环境搭建
- 深入理解Http协议
- Linux 学习笔记(五)
- UML 简介
- 索智R16点亮gc2145(evb30).txt V1.0
- I/O复用之poll模型
- MFC对话框处理滚动条