Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 280|回复: 0

[默认分类] doT.js详细介绍

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-6-7 10:21:15 | 显示全部楼层 |阅读模式
    doT.js特点是快,小,无依赖其他插件。

    官网:
    http://olado.github.io

    doT.js详细使用介绍
    使用方法:
    {{= }} 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(数据源);


    例子一:
      
    1、for interpolation 赋值
    格式:
    {{= }}
      
    数据源:{"name":"Jake","age":31}

    区域:<div id="interpolation"></div>
      
    模板:
    <script id="interpolationtmpl" type="text/x-dot-template">
    <div>Hi {{=it.name}}!</div>
    <div>{{=it.age || ""}}</div>
    </script>

    调用方式:
    var dataInter = {"name":"Jake","age":31};
    var interText = doT.template($("#interpolationtmpl").text());
    $("#interpolation").HTML(interText(dataInter));



    例子二:
    2、for evaluation for in 循环
    格式:
    {{ for var key in data { }}
    {{= key }}
    {{ } }}
    数据源:{"name":"Jake","age":31,"interests":["basketball","hockey","photography"],"contact":{"email":"jake@xyz.com","phone":"999999999"}}

    区域:<div id="evaluation"></div>
    模板:
    <script id="evaluationtmpl" type="text/x-dot-template">
    {{ for(var prop in it) { }}
    <div>KEY:{{= prop }}---VALUE:{{= it[prop] }}</div>
    {{ } }}
    </script>
    调用方式:
    var dataEval = {"name":"Jake","age":31,"interests":["basketball","hockey","photography"],"contact":{"email":"jake@xyz.com","phone":"999999999"}};
    var evalText = doT.template($("#evaluationtmpl").text());
    $("#evaluation").html(evalText(dataEval));



    例子三:
    3、for array iteration 数组
    格式:
    {{~data.array :value:index }}
    ...
    {{~}}
    数据源:{"array":["banana","apple","orange"]}
    区域:<div id="arrays"></div>

    模板:
    <script id="arraystmpl" type="text/x-dot-template">
    {{~it.array:value:index}}
    <div>{{= index+1 }}{{= value }}!</div>
    {{~}}
    </script>

    调用方式:
    var dataArr = {"array":["banana","apple","orange"]};
    var arrText = doT.template($("#arraystmpl").text());
    $("#arrays").html(arrText(dataArr));




    例子四:
    4、{{? }} for conditionals 条件
    格式:
    {{? }} if
    {{?? }} else if
    {{??}} else
    数据源:{"name":"Jake","age":31}
    区域:<div id="condition"></div>
    模板:
    <script id="conditionstmpl" type="text/x-dot-template">
    {{? !it.name }}
    <div>Oh, I love your name, {{=it.name}}!</div>
    {{?? !it.age === 0}}
    <div>Guess nobody named you yet!</div>
    {{??}}
    You are {{=it.age}} and still dont have a name?
    {{?}}
    </script>
    调用方式:
    var dataEncode = {"uri":"http://bebedo.com/?keywords=Yoga","html":"<div style="background: #f00; height: 30px; line-height: 30px;">html元素</div>"};
    var EncodeText = doT.template($("#encodetmpl").text());
    $("#encode").html(EncodeText(dataEncode));




    例子五:
    5、for interpolation with encoding
    数据源:{"uri":"http://bebedo.com/?keywords=Yoga"}
    格式:
    {{!it.uri}}

    区域:<div id="encode"></div>

    模板:
    <script id="encodetmpl" type="text/x-dot-template">
    Visit {{!it.uri}} {{!it.html}}
    </script>
    调用方式:
    var dataEncode = {"uri":"http://bebedo.com/?keywords=Yoga","html":"<div style="background: #f00; height: 30px; line-height: 30px;">html元素</div>"};
    var EncodeText = doT.template($("#encodetmpl").text());
    $("#encode").html(EncodeText(dataEncode));




    例子六:
    6、{{# }} for compile-time evaluation/includes and partials
    {{## #}} for compile-time defines
    数据源:{"name":"Jake","age":31}

    区域:<div id="part"></div>
    模板:
    <script id="parttmpl" type="text/x-dot-template">
    {{##def.snippet:
    <div>{{=it.name}}</div>{{#def.joke}}
    #}}
    {{#def.snippet}}
    {{=it.html}}
    </script>

    调用方式:
    var dataPart = {"name":"Jake","age":31,"html":"<div style="background: #f00; height: 30px; line-height: 30px;">html元素</div>"};
    var defPart = {"joke":"<div>{{=it.name}} who?</div>"};
    var partText = doT.template($("#parttmpl").text(), undefined, defPart);
    $("#part").html(partText(dataPart));













    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-24 10:08 , Processed in 0.537303 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表