doT.js变量和数组混合读取方式

简介:
  1. 可以包裹任意大小的html
  2. 变量在其包裹的任意区域都有效
  3. 单个变量可以和数组分开展示
  4. 最好放置在最下方执行js

数据结构

var data = {
        "id": "1280",
        "name": "漂亮的衣服",
        "price": "100",
        "oprice": "150",
        "goods_img": [
            "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000189/20160718/a/578c97464f436.jpg@1000w",
            "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000189/20160718/d/578c973b1fa40.jpg@1000w",
            "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000189/20160718/6/578c973352e0f.jpg@1000w"
        ]
    };

区域div

<div id="info_area"></div>

包裹区域

<script id="goodstmpl" type="text/x-dot-template">
...
</script>

单个变量使用

<div class="aui-title">{{= it.name}}</div>

变量中数组使用

方式1

{{ for(var prop in it['goods_img']) { }}
<div class="swiper-slide li">
<a href="javascript:;">
    <img src="{{= it['goods_img'][prop] }}"
         data-img="{{= it['goods_img'][prop] }}">
</a>
</div>
{{ } }}

方式2

{{~ it.goods_img:v}}
<div class="swiper-slide li">
    <a href="javascript:;">
        <img src="{{= v }}"
             data-img="{{= v }}">
    </a>
</div>
{{~}}

方式3

{{ for(var prop in it['goods_img']) { }}
{{ var v = it['goods_img'][prop]; }}
<div class="swiper-slide li">
    <a href="javascript:;">
        <img src="{{= v }}"
             data-img="{{= v }}">
    </a>
</div>
{{ } }}

JS处理

var interText = doT.template($("#goodstmpl").text());
$("#info_area").html(interText(data));

小结

很好用~




本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5949852.html,如需转载请自行联系原作者

相关文章
|
10月前
|
传感器 物联网 数据安全/隐私保护
低功耗蓝牙和 Wi-Fi 相比有什么优缺点
低功耗蓝牙(BLE)与Wi-Fi相比,功耗更低、成本更少,适用于短距离、小数据量传输,如智能手环等;但传输速度和距离不如Wi-Fi,适合对实时性和带宽要求不高的场景。
PullToRefresh的简单使用
PullToRefresh的简单使用
266 1
|
机器学习/深度学习 传感器 自动驾驶
视觉BEV基本原理和方案解析
视觉BEV在高德高精地图地面要素识别、车道线拓扑构建、车端融合定位等业务场景中都扮演了重要角色。
|
Python
如何在Python 查找两个列表之间的差异?
如何在Python 查找两个列表之间的差异?
555 0
|
机器学习/深度学习 数据可视化 大数据
【钉钉杯大学生大数据挑战赛】初赛 A:银行卡电信诈骗危险预测 Baseline
本文介绍了参加"钉钉杯大学生大数据挑战赛"初赛A的银行卡电信诈骗危险预测项目的Baseline方案,包括问题分析、Python实现(含数据探索、模型训练调参、特征工程、模型评价和可视化)、以及代码下载链接。
250 0
|
数据可视化 Python
DataFrame 中的时间序列分析:处理日期和时间数据
【5月更文挑战第19天】在数据分析中,时间序列数据的处理至关重要。使用Pandas,我们可以将日期列转换为日期类型,便于进行时间序列操作,如提取年月日、计算时间间隔。通过`resample`处理不规则间隔,用`fillna`或`dropna`填补或删除缺失日期。结合`matplotlib`进行可视化,揭示数据趋势。正确处理日期和时间信息是准确分析的前提,帮助我们从时间序列数据中发现模式,为决策提供依据。
452 2
|
机器学习/深度学习 算法 数据挖掘
【机器学习】包裹式特征选择之递归特征添加法
【机器学习】包裹式特征选择之递归特征添加法
377 5
|
Java UED
基于SpringBoot自定义线程池实现多线程执行方法,以及多线程之间的协调和同步
这篇文章介绍了在SpringBoot项目中如何自定义线程池来实现多线程执行方法,并探讨了多线程之间的协调和同步问题,提供了相关的示例代码。
3329 0
|
XML JSON 中间件
Go 框架 iris 文档(一)
Go 框架 iris 文档(一)
517 0
|
C语言
头歌c语言实训项目-选择结构程序设计进阶
头歌c语言实训项目-选择结构程序设计进阶
824 1