for 循环前推断循环的list是否为空

<script id="invoiceListDot" type="text/x-dot-template">
{{? it.invoiceInfoDtos}}
{{ for(var prop=0;prop
<it.invoiceInfoDtos.length
; prop++){ }}
<div class="{{ if(prop==0){}}invoice-infor {{ }else {}}no-invoice{{ }}}" data-index="{{= prop }}">
<span class="no-ivoice-icon"></span>
<span>普通发票</span>
<span class="ivo-margin">{{= it.invoiceInfoDtos[prop].content }}</span>
<span class="ivo-margin">{{= it.invoiceInfoDtos[prop].title }}</span>
<span class="ivo-margin">{{= it.invoiceInfoDtos[prop].address }}</span>
<span class="ivo-margin">{{= it.invoiceInfoDtos[prop].receiver }}</span>
<span class="ivo-margin">{{= it.invoiceInfoDtos[prop].phone }}</span>
</div>
{{ } }}
{{? }}
</script>

if 推断

<li class="company-state">
{{? it.orgAppRelList[i].expire }}
{{=it.orgAppRelList[i].endDate }}已过期
{{?? }}
{{? it.orgAppRelList[i].isTrial }}
试用中的企业无法订购,<span class="warning">{{=it.orgAppRelList[i].endTime }}过期</span>
{{?? }}
{{? it.orgAppRelList[i].status=='001' }} 未购买{{? ? it.orgAppRelList[i].status=='002'}}已支付 {{? ? }}已购买&nbsp;
{{=it.orgAppRelList[i].endDate }}过期
{{? }}
{{?}}
{{? }}
</li>

宏的使用

<div class="content" id="serviceItem">
{{##def.spaceUnit:
{{? it.productPrice.policyInfo.storageUnit==1 }}K{{?? it.productPrice.policyInfo.storageUnit==2}}M{{? ?
it.productPrice.policyInfo.storageUnit==3}}G {{?? }}T {{? }}
#}} <div class="buy-list">
<ul>
<li class="buy-name">购买时长:</li>
<li class="buy-select"><p>{{=it.productPrice.userPeriod}}个月</p></li>
<li class="buy-unit"></li>
<li class="buy-state">估计到期时间:{{=it.productPrice.endTime}}</li>
</ul>
</div>
<div class="buy-list">
<ul>
<li class="buy-name">用户数:</li>
<li class="buy-select"><input name="userCount" onkeypress="eventUtil.onlyNumberKeyPress(event)"
type="text"></li>
<li class="buy-unit">人</li>
<li class="buy-state">用户单位价格 {{=it.productPrice.normalPriceDto.userPeriodPrice}}元/人
{{? it.productPrice.policyInfoDto.periodUnit==1 }} 年{{??
it.productPrice.policyInfoDto.periodUnit==2}}月{{??
it.productPrice.policyInfoDto.periodUnit==3}}天 {{?? }}单位未知 {{? }}
<span class="warning">(眼下仅仅支持200人以内的团队)</span></li>
</ul>
</div> <div class="buy-list">
<ul>
<li class="buy-name">扩容空间(全部):</li>
<li class="buy-select"><input name="expansion_storage"
onkeypress="eventUtil.onlyNumberKeyPress(event)" type="text"></li>
<li class="buy-unit">{{#def.spaceUnit}}</li>
<li class="buy-state">空间单位价格 {{=it.productPrice.normalPriceDto.storagePrice}}元/
{{#def.spaceUnit}}
</li>
</ul>
</div>
</div>

參考:

doT js 入门

作者:黄威(1287789687@qq.com)

doT js模板入门 3的更多相关文章

  1. doT js模板入门

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

  2. doT js模板入门 2

    doT js 使用{{}} 非常相似于JSP,所以用起来感觉非常亲切,非常顺手 {{–><% }}–>%> 比如: <div id="evaluationtmp ...

  3. doT.js模板引擎及基础原理

    时至今日,基于后端JavaScript(Node.js)和MVC思想也开始流行起来.模板引擎是数据和页面分离工作中最重要的一环,在各大门户网站均有利用到模板引擎. 模板引擎有很多种,但是原理了解也是非 ...

  4. doT.js模板和pagination分页应用

    doT.js模板和pagination分页应用 博客中模拟了数据加载初始化的过程.doT.js渲染每一项内容的数据项.示例如下: <script id="Messtmpl" ...

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

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

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

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

  7. doT.js模板用法

    前提:引入doT.min.js: <script type="text/javascript" src="js/jquery.js"></sc ...

  8. dot.js模板实现分离式

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

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

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

随机推荐

  1. Spark SQL概念学习系列之Spark SQL入门(八)

    前言 第1章   为什么Spark SQL? 第2章  Spark SQL运行架构 第3章 Spark SQL组件之解析 第4章 深入了解Spark SQL运行计划 第5章  测试环境之搭建 第6章 ...

  2. ftp获取mysql数据库方法

    我说的这种情况是针对mysql数据库的,首先下载一个mysql通过ftp放到站点里面,然后通过配置文件找到数据库的名字和密码,然后通过浏览器访问数据库,直接在域名后面加上下载的mysql文件的名字就可 ...

  3. WordPress熊掌号页面改造,自动发布

    写在前面的话: 有很多小伙伴刚进入WordPress,对很多东西还不太了解,比如:有的主题很挑剔,对于有些插件不兼容,但是呢对于这个功能有不可或缺.所以,这时候就需要我们自己手动修改或者添加代码,来实 ...

  4. Python 将中文转拼音

    文字转拼音 import os.path class PinYin(object): def __init__(self): self.word_dict = {} def load_word(sel ...

  5. ElasticSearch 安装使用

    安装: 1.下载ElasticSearch.解压到相关文件夹 2.运行elasticsearch.bat,启动程序 3.在浏览器输入:http://localhost:9200/,显示相关Es内容即安 ...

  6. 语音跟踪:信号分解、锁相、鸡尾酒会效应、基于PR的信号分离

    NLP中关于语音的部分,其中重要的一点是语音信号从背景噪音中分离.比如在一个办公室场景中,有白天的底噪-类似于白噪音的噪音.空调的声音.键盘的啪啪声.左手边45度7米元的地方同事讨论的声音.右手边1. ...

  7. HDU_1114_piggy-bank

    Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit S ...

  8. jmeter普通的接口测试

    摘自:后知者.https://www.cnblogs.com/houzhizhe/p/6838731.html jmeter可以做接口测试,其中接口测试的简单操作包括做http脚本(发get/post ...

  9. getBlockTable delete pline

    AcDbBlockTable *pBlkTab; Acad::ErrorStatus es = acdbHostApplicationServices()->workingDatabase() ...

  10. Apache Maven 3.0.3 (yum) 安裝 (CentOS 6.4 x64)

    介紹http://maven.apache.org/ Maven是一個專案的開發,管理和綜合工具. 下載http://maven.apache.org/download.cgi 參考http://ma ...