doT模板作为一个前端渲染模板,有着非常显著的有点。1、轻量。2、快捷。3、无依赖。

本文介绍一种几乎所有模板都会遇到的问题,双重循环渲染。我们知道在dot模板中循环渲染用的是{{~ it:value:index}} --- {{~}}的方式。但是这种方式配到一下数据类型

会变得无从下手。

let a=[{
        day:'2019-09-10',
        dayCon:[ {
        time:'15:15',
        newsCon:'8月29日晚间,中国石油披露2019年半年报,公司报告期共实现营业收入11962.59亿元,同比增长6.8%;归母净利润284.23亿元,同比增长3.6%;基本每股收益0.155元,比上年同期增加0.005元。公司拟中期每股派息0.06988元,并增加特别股息每股0.00777元,合计每股派息0.07765元,总派息额142.12亿元。'
    }, {
        time:'15:09',
        newsCon:'据披露,今年上半年中国石油原油销售量达6539.5万吨,对比上年同期的5123.1万吨增长27.6%,同时天然气销售量达125.27万吨,对比上年同期的101.4万吨同比增长23.5%,此外公司汽油、柴油、煤油、重油、润滑油等销售量也均实现了小幅下滑。'
    }, {
        time:'15:02',
        newsCon:'国家发改委数据显示,2019年上半年,原油加工量29335万吨,同比下降0.2%;成品油产量18425万吨,同比增长0.5%;成品油消费量15943万吨,比上年同期增长0.9%,其中汽油增长5.3%,柴油下降3.9%。'
    }]
},
{
        day:'2019-09-08',
        dayCon:[ {
        time:'12:04',
        newsCon:'8月27日晚间,中国有色金属龙头中国铝业股份有限公司(下称“中国铝业”,02600.HK)发布了2019年半年度报告。上半年,中国铝业实现营业收入949.40亿元,和上年同期相比(同比)增长15.23%;归属于上市股东的净利润为7.06亿元,同比减少14.10%;基本每股收益0.035元/股,同比减少23.43%。'
    }, {
        time:'13:12',
        newsCon:'2019年上半年,国内氧化铝现货最高价为3139元/吨,最低价为2657元/吨,平均价格2863元/吨,较去年同期略为下降0.9%。据统计,2019年上半年,全球氧化铝产量约为6279万吨,消费量约为6286万吨,同比均增长1.8%;中国氧化铝产量约为3603万吨,同比增长2.3%,消费量约为3587万吨,同比增长0.7%。'
    }, {
        time:'11:12',
        newsCon:'2019年上半年,SHFE(上海期货交易所)现货和三个月期货的平均价分别为13777元/吨和13786元/吨,较去年同期分别下跌4.3%和5.5%。据统计,2019年上半年,全球原铝产量约为3175万吨,消费量约为3301万吨,同比分别增长0.1%和0.5%;中国原铝产量约为1786万吨,同比减少0.8%,消费量约为1806万吨,同比增长0.8%。'
    }]
},
{
        day:'2019-08-18',
        dayCon:[ {
        time:'08:15',
        newsCon:'[分红方案披露的当天,英力特收盘价为10.85元。据此计算,英力特的股息率高达11%以上。此前的2017年,中国神华、江铃汽车两家公司,分别进行了2.97元/股、2.317元/股现金分红。相对于披露前的股价,中国神华的股息率超过16%,江铃汽车A、B股的股息率则达14.2%、21.3%]'
    }, {
        time:'09:15',
        newsCon:'过去十多年中,英力特虽然多次现金分红,但金额都相对较低。此次分红若最终落实,总金额则将达到3.64亿元,相当于该公司此前11年分红总额。根据公开数据,2007年到2017年,英力特现金分红共计约3.7亿元'
    }, {
        time:'10:15',
        newsCon:'分红方案披露的当天,英力特收盘价为10.85元。据此计算,英力特的股息率高达11%以上。此前的2017年,中国神华、江铃汽车两家公司,分别进行了2.97元/股、2.317元/股现金分红。相对于披露前的股价,中国神华的股息率超过16%,江铃汽车A、B股的股息率则达14.2%、21.3%'
    }]
}] // --------二维数组。如果单纯的使用{{~}} {{~}}进行嵌套,就会报错,dot无法进行正确的解读。
 
左思又想想到一个解决方案:将内部数组用dot循环,方法,在外部,进行循环。注意:是将循环的方法再次循环。
for (let i = 0 ; i<a.length ; i++) {
            let item = a[i];
            api.execScript({
                frameName: 'sl_news_fast_fm',
                script:'getStr('+ JSON.stringify(a[i]) +');'
            });
        }
api方法是我获取字符串的方法,:我对该方法进行了,循环,从而得到二维的数组对应的dom嵌套字符串。

doT模板双重循环模板渲染方法的更多相关文章

  1. shell脚本———双重循环——九九乘法表

    1.基础双重循环模板 2.break跳出单个循环 3.continue中止某次循环中的命令,但不会完全中止整个命令 4.九九乘法表

  2. 探究Javascript模板引擎mustache.js使用方法

    这篇文章主要为大家介绍了Javascript模板引擎mustache.js使用方法,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后 ...

  3. 织梦DedeCMS模板防盗的四种方法

    织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗.本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 3 ...

  4. 织梦dede模板中广告的去除方法?

    织梦)dede模板中广告的去除方法1.我们先删除头部的广告,找到templetsdefault下的head.htm文件,打开后找到<div>{dede:myad name=’innerTo ...

  5. flask框架下的jinja2模板引擎(3)(模板继承与可以在模板使用的变量、方法)

    flask 框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html flask 框架下的jinja2模块引擎(2):http ...

  6. IDEA自定义liveTemplates(方法模板、类模板)

    IDEA自定义liveTemplates(方法模板.类模板) 前言,搞这个模板有何意义? 降低大家写方法注释的成本,统一风格.有时候不是开发同学不爱写注释,而是没有合适的载体和空间. IDEA模板设置 ...

  7. python的Web框架,Django模板标签及模板的继承

    模板标签 在传递数据的时候,会有大量的数据展示在浏览器上,而数据会是动态变化的,在html的编写中,数据也是需要动态的,而不能是写死的,如果动态展示呢. 给定的例子数据 views传递数据给html ...

  8. Django(十五)模板详解:模板标签、过滤器、模板注释、模板继承、html转义

    一.模板的基础配置及使用 [参考]https://docs.djangoproject.com/zh-hans/3.0/topics/templates/ 作为Web框架,Django提供了模板,用于 ...

  9. (转)DEDECMS模板原理、模板标签学习 - .Little Hann

    本文,小瀚想和大家一起来学习一下DEDECMS中目前所使用的模板技术的原理: 什么是编译式模板.解释式模板,它们的区别是什么? 模板标签有哪些种类,它们的区别是什么,都应用在哪些场景? 学习模板的机制 ...

随机推荐

  1. java 将整型数组转化为字符串

    java arrays 和arrayList 的区别 package com.vc; import java.util.Arrays; public class Demo05 { public sta ...

  2. ThreadLocal 原理

    ThreadLocal是什么 ThreadLocal是一个本地线程副本变量工具类.主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用, ...

  3. ContiPerf

    概述 ContiPerf 是一个轻量级的单元测试工具,基于JUnit 4二次开发,使用它基于注解的方式,快速在本地进行单元压测并提供详细的报告. Example 1. 新建 SpringBoot 工程 ...

  4. springcloud之Eureka注册中心

    参考博客:https://www.cnblogs.com/ityouknow/p/6854805.html 背景: Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Ser ...

  5. laravel报错1071 Specified key was too long; max key length is 1000 bytes

    Laravel 默认使用utf8mb4字符编码,而不是的utf8编码.因此运行php artisan migrate会出现如下错误: [Illuminate\Database\QueryExcepti ...

  6. Socket通信,基本方法介绍

    Socket是什么呢? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口. 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口 ...

  7. 06_Python基础课程

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"软件测试"获取视频和教程资料! b站在线视频 Pyth ...

  8. 将BX中的数以二进制形式在屏幕上显示出来。

    问题 将BX中的数以二进制形式在屏幕上显示出来. 代码 code segment assume cs:code main proc far start: mov bx,011001100110b ;假 ...

  9. PHP xml_parser_set_option() 函数

    定义和用法 xml_parser_set_option() 函数为 XML 解析设置选项.高佣联盟 www.cgewang.com 如果成功,该函数则返回 TRUE.如果失败,则返回 FALSE. 语 ...

  10. PHP stripcslashes() 函数

    实例 删除 "World!" 前面的反斜杠: <?php高佣联盟 www.cgewang.comecho stripslashes("Hello World!&qu ...