doT中嵌套for循环的使用

简介:

1.数据结构

var goods = [
        {
            "id": "1",
            "name": "衣服",
            "goods": [
                {
                    "goods_id": "1",
                    "name": "衣服1",
                    "price": "100",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                },
                {
                    "goods_id": "2",
                    "name": "衣服2",
                    "price": "200",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                }
            ]
        },
        {
            "id": "2",
            "name": "鞋子",
            "goods": [
                {
                    "goods_id": "3",
                    "name": "鞋子1",
                    "price": "100",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                },
                {
                    "goods_id": "4",
                    "name": "鞋子2",
                    "price": "200",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                }
            ]
        }
    ];

2.区域与页面构建

    <div id="category-goods"></div>
    <!-- 必须加上type="text/x-dot-template" -->
    <script id="category-goods-tmpl" type="text/x-dot-template">
        {{ for(var i=0, catlen=it.length; i<catlen; i++) { }}
            <div class="rxsp">
                <div class="aui-pull-left"><h3> {{= it[i].name }} </h3></div>
                <a class="aui-pull-right ">
                    查看更多
                    <span class="aui-iconfont aui-icon-right"></span>
                </a>
            </div>

            <div class="aui-list-item-inner">
                <div class="aui-row aui-row-padded">
                    {{ for(var j=0, goodslen=it[i]['goods'].length; j<goodslen; j++) { }}    
                    <div class="aui-col-xs-6">
                        <img src="{{= it[i]['goods'][j].logoimg }}" onclick="openWin('goods_detail')">
                        <p class="tit">{{= it[i]['goods'][j].name }} </p>
                        <div class="aui-info" style="padding-top:0">
                            <div class="aui-info-item">
                                <span class="red">{{= it[i]['goods'][j].price }}<!-- <span class="jifen"> 积分1000</span></span> -->
                            </div>
                        </div>
                    </div>
                    {{ } }}
                </div>
            </div>
        {{ } }}
    </script>

3.调用数据

    var goods = [
        {
            "id": "1",
            "name": "衣服",
            "goods": [
                {
                    "goods_id": "1",
                    "name": "衣服1",
                    "price": "100",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                },
                {
                    "goods_id": "2",
                    "name": "衣服2",
                    "price": "200",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                }
            ]
        },
        {
            "id": "2",
            "name": "鞋子",
            "goods": [
                {
                    "goods_id": "3",
                    "name": "鞋子1",
                    "price": "100",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                },
                {
                    "goods_id": "4",
                    "name": "鞋子2",
                    "price": "200",
                    "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                }
            ]
        }
    ];

    var evalText = doT.template($("#category-goods-tmpl").text());
    $("#category-goods").html(evalText(goods));

4.结果展示

调整结构

var goods_list = {
        "list": [
            {
                "id": "1",
                "name": "衣服",
                "goods": [
                    {
                        "goods_id": "1",
                        "name": "衣服1",
                        "price": "100",
                        "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                    },
                    {
                        "goods_id": "2",
                        "name": "衣服2",
                        "price": "200",
                        "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                    }
                ]
            },
            {
                "id": "2",
                "name": "鞋子",
                "goods": [
                    {
                        "goods_id": "3",
                        "name": "鞋子1",
                        "price": "100",
                        "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                    },
                    {
                        "goods_id": "4",
                        "name": "鞋子2",
                        "price": "200",
                        "logoimg": "http://image.diandodo.com/zhudianbao/Uploads/User/u1250000222/20160723/201607231342158687.png@250h_250w_1e_1c"
                    }
                ]
            }
        ]
    };

这种结构适用于arttemplate,便于统一结构。
doT中相应调整,

    var evalText = doT.template($("#category-goods-tmpl").text());
    $("#category-goods").html(evalText(goods_list.list));



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5946161.html,如需转载请自行联系原作者
相关文章
|
Python Windows
sqlmap安装及简介
sqlmap安装及简介
593 0
|
计算机视觉 索引
OpenCV-最值计算cv::minMaxIdx&cv::minMaxLoc
OpenCV-最值计算cv::minMaxIdx&cv::minMaxLoc
449 0
|
安全 Shell Linux
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
818 0
|
9月前
|
人工智能 自然语言处理 搜索推荐
告别加班!用DeepSeek搭建全自动爆款图文工厂
随着人工智能技术的飞速发展,图文创作迎来了革命性飞跃。DeepSeek作为强大的AI工具,可批量生成高质量图文笔记,精准适配小红书、抖音、B站等平台。通过明确选题、撰写提示词,用户能轻松定制内容风格,涵盖字体、背景、颜色等多方面细节。从注册登录到生成HTML代码,再到优化处理图片,DeepSeek为创作者提供了全流程支持,助力打造爆款内容。无论是分析爆款笔记还是二次创作,DeepSeek都能大幅提升效率,引领潮流风向标。
488 25
|
安全 前端开发 Java
SpringBoot之HiddenHttpMethodFilter
`HiddenHttpMethodFilter`在SpringBoot中的应用,极大地方便了开发者在HTML表单中使用PUT、DELETE等方法。通过本文的介绍,希望能够帮助开发者理解和配置 `HiddenHttpMethodFilter`,从而更好地利用SpringBoot的功能来实现复杂的HTTP请求操作。在实际应用中,注意安全性防护,确保系统的稳定和安全。
188 2
|
Linux 开发工具 数据安全/隐私保护
搭建 Git 私人服务器完整指南
本文详细介绍了如何从零开始搭建一个私人的 `Git` 服务器。首先,文章解释了 `Git` 的概念及其优势,并阐述了搭建私人 `Git` 服务器的重要性,包括数据隐私、定制化需求及成本效益。接着,文章分步骤指导读者完成服务器的准备工作,包括操作系统、硬件和网络要求。随后,详细介绍了在不同操作系统上安装 `Git` 的方法,并演示了如何创建 `git` 用户、部署仓库以及设置免密登录。此外,还提供了客户端连接远程仓库的具体步骤,包括 Linux 和 Windows 的操作方式。最后,文章探讨了迁移仓库的方法以及搭建 `Git` 服务器的一些进阶选项。
4961 0
搭建 Git 私人服务器完整指南
|
SQL JSON 自然语言处理
数仓建模—建模工具PdMan
工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。
2657 0
数仓建模—建模工具PdMan
|
JavaScript Java 测试技术
基于微信小程序的刷题系统的+springboot+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序的刷题系统的+springboot+vue.js附带文章和源代码设计说明文档ppt
273 1
|
安全 Java
【Java】已解决java.io.InterruptedIOException异常
【Java】已解决java.io.InterruptedIOException异常
1124 0
halcon基础系列之几何工具相关算子
halcon基础系列之几何工具相关算子
568 0