`

doT JS

阅读更多

1doT.js github地址:

http://olado.github.io/doT/

实例1:简单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="../../doT.js"></script>
    <script type="text/javascript" src="http://hbjltv.com/static/js/jquery-1.11.1.js"></script>
</head>
<body>
<div id="interpolationtmpl">
    <div>Hi {{=it.name}}!</div>
    <div>{{=it.age || ''}}</div>
</div>
<hr/>
<div id="interpolation"></div>
<script type="text/javascript">
    var dataInter = {"name": "Jake", "age": 31};
    var interText = doT.template($("#interpolationtmpl").html());
    $("#interpolation").html(interText(dataInter));
</script>
</body>
</html>

运行结果:

 实例二:条件判断

<body>
<div id="conditionstmpl">
    {{? !it.name }}
    <div> 你还没有名字</div>
    {{?? }}
    <div>Oh, I love your name, {{=it.name}}!</div>
    {{?}}
</div>
<hr/>
<div id="condition"></div>
<script type="text/javascript">
    var dataEncode = {"name": "黄威", "age": 31};
    var interText = doT.template($("#conditionstmpl").html());
    $("#condition").html(interText(dataEncode));
</script>
</body>

运行结果:

 

实例三:循环+条件判断

<body>
<div id="evaluationtmpl">
    {{ for(var prop in it) { }}
        {{? typeof it[prop]=='object' }}
            <div style="font-weight: bold;" >KEY:{{= prop }}---VALUE:</div>
            {{ for(var prop2 in it[prop]) { }}
                <div style="margin-left: 20px;" >key:{{= prop2 }}---value:{{= it[prop][prop2] }}</div>
            {{ } }}
        {{?? }}
            <div>KEY:{{= prop }}---VALUE:{{= it[prop] }}</div>
        {{?}}

    {{ } }}
</div>
<hr/>
<div id="evaluation"></div>
<script type="text/javascript">
    var dataEval = {
        "name": "Jake",
        "age": 31,
        "interests": ["basketball", "hockey", "photography"],
        "contact": {"email": "jake@xyz.com", "phone": "999999999"}
    };
    var evalText = doT.template($("#evaluationtmpl").html());
    $("#evaluation").html(evalText(dataEval));
</script>
</body>

 运行结果:

 

源码下载地址:

http://pan.baidu.com/s/1c0HFyb2

说明:1,{{? typeof it[prop]=='object' }} 表示条件判断,结束标签是{{?}}2, {{?? }}是条件判断的else3,{{ 和{{? 中均可以使用原生的js语法,如for,typeof 等4,模板并不是一定要放在script标签中,也可以放在隐藏的div标签中

 

CSDN博客主页 
itEye博客主页

 

分享到:
评论

相关推荐

    JavaScript模板引擎doT.js.zip

    doT.js 包含为浏览器和Node.js 准备的 JavaScript 模板引擎。 标签:doTjs

    GoogleChrome扩展dotjs.zip

    dotjs 是一个谷歌扩展,它可根据文件名 ~/.js 来执行 JavaScript 文件。例如,如果你想访问 http://www.google.com/ ,dotjs 将会执行 ~/.js/google.com.js。 而这将会使你很方便地使用 JavaScript 去改进你所喜爱的...

    dotjs-loader:用于webpack的doT.js模块加载器

    dotjs-loader 用于webpack的模块加载器 用法 安装 使用npm安装。 doT是一个对等依赖项,应单独安装: npm install --save-dev dot dotjs-loader 配置 在webpack.config.js配置加载器: module: { loaders : [ {...

    doT.js简单入门

    doT.js是一个轻量级的JavaScript模板引擎,它专注于性能和简洁性,广泛用于Web开发中的数据绑定和渲染。这个引擎是由Kadim Alhir开发的,它的设计目标是提供一个高效、灵活且易于理解的解决方案,使得开发者可以将...

    .js:我的 dotjs 文件

    在本项目中,".js:我的 dotjs 文件" 提到的是一个与 JavaScript 相关的个人项目或者配置文件集,它被设计用于特定的环境,即谷歌浏览器(Google Chrome)。 描述中提到的 "要求" 暗示这是一个用户需要遵循的步骤来...

    gulp-dotjs-packer:用 gulp 编译 doTjs (gulpjs.com)

    #gulp-dotjs-packer 用 gulp 编译 (gulpjs.com) 信息 包裹 gulp-dotjs-packer 描述 Gulp 的 doTjs 编译器 吞咽版 3.x 用法 var gulp = require ( "gulp" ) ; var dotPacker = require ( "gulp-dotjs-packer" ) ; ...

    gulp-dotjsify:预编译 doT.js 模板的 Gulp 插件

    gulp-dotjsify 用于预编译 doT.js 模板的 Gulp 插件用法安装gulp-dotjsify npm install gulp-dotjsify --save-dev选项###options.type 类型: String 此选项... src ( './path/to/dotjs/templates/*.dot' ) . pipe (

    slides-dotjs2014:我在 dotJS 2014 演讲的幻灯片

    dotJS 2014 演讲,11 月 17 日,巴黎 在线查看幻灯片 在本地查看幻灯片 首先,确保您安装了以下内容: : $ npm install -g bower : $ npm install -g gulp 然后,安装依赖项并运行预览服务器: $ npm install &...

    My-dotjs-files:这是我的defunkt的dotjs chrome插件文件

    这些是defunkt的dotjs Chrome插件的文件。 这些文件做什么? 黑塞德 删除(Flash)广告 spiegel.de 删除(Flash)广告 子域 einestages.spiegel.de 塔兹 移除广告 时代周刊 移除广告

    dotjs:我的 .js 文件

    我的 .js 文件 我的 .js 文件的集合。 参见 。 核心数据.is.js 将登录页面图像更改为随机的 flickr 图像。 您可以找到示例屏幕截图。 github.com.js 这里正在发生两件事。 Hólmar 是一只忙碌的 github 蜜蜂。 这...

    前端开源库-dot-object

    `dot-object` 是一个在前端开发中非常实用的开源库,它的主要功能是处理和操作JavaScript对象,特别是那些结构复杂的JSON对象。通过使用点表示法,开发者可以方便地访问、修改或创建JSON对象的深层属性,从而简化了...

    dot模版遍历集合的两种写法

    不熟悉DOT的遍历或者说看不习惯dot官方遍历的,可以看下类似for或foreach的方法,相同效果

    Atom-language-dot,atom的dot(graphviz)包。为adopi/语言做出贡献.zip

    Atom-language-dot是一款专门为Atom文本编辑器设计的插件,它扩展了Atom的功能,使其能够支持Graphviz的DOT语言。DOT语言是一种图形描述语言,由AT&T的Bell Labs开发,主要用于创建图表,特别是流程图、实体关系图、...

    doT.js API

    doT.js的特点是体积小,速度快,并且不依赖其他插件。 官网下载:http://olado.github.io

    前端开源库-dot-tpl-loader

    通过这个加载器,开发者可以在Webpack构建流程中无缝地集成.dot tpl模板,将其转换为JavaScript模块,从而方便地在前端应用中进行渲染。 2. **Webpack查询选项的运用** Webpack的查询选项(query options)允许我们...

    Node.js for dot net

    标题“Node.js for dot net”指的是在.NET框架下使用Node.js技术进行开发的场景。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者可以用JavaScript编写服务器端程序,而不再局限于传统的客户端脚本...

    前端开源库-jstransformer-dot

    `jstransformer-dot` 是一个前端开发中使用的开源库,它属于JavaScript变换工具链的一部分,主要用于处理和转换JavaScript模板语言——`dot.js`。`dot.js`是一种轻量级、高效的模板引擎,它以简洁的语法和强大的功能...

    js封装的日历控件,适用于java和dot net

    该JS日历控件的核心是`calender.js`文件,它包含了实现日历逻辑的JavaScript代码。这个控件可能采用模块化设计,分为以下几个关键部分: 1. **初始化**:创建日历实例,接收配置参数,如初始日期、语言设置等。 2. ...

    Tap My Dot Game using JavaScript with Source Code.zip

    【标签】"js 游戏" 指出这个项目专注于JavaScript技术,并且是一个游戏开发案例。这为开发者提供了一个实践JavaScript游戏编程的机会,可以学习到如何利用JavaScript来设计游戏机制、处理用户事件、实现计分系统、...

    dotify:用于 doT.js 的 Browserify 转换插件

    打点 用于Browserify 转换插件。 安装 npm install dotify 用法 在 main.js 中: ... 您还可以将选项传递给 doT.js 编译器,例如保留空格: $ browserify -t [ dotify --no-strip ] main.js 执照 麻省理工学院

Global site tag (gtag.js) - Google Analytics