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. echarts 踩坑 : id必须不同

    我们可能用react前端框架开发项目. 也就是组件化开发. 一个页面里可能有很多组件. 而echarts是寻找特定ID的DOM去渲染的. 也就是说,如果整个页面.包括所有页面组件,有id相同的DOM, ...

  2. Python学习周期 学习Python要多久?

    学习python编程需要多长时间?首先我们需要明确一点,在互联网技术领域,技术始终在不断的迭代升级,只要进入IT行业就要时刻保持学习的状态,才能不被技术进步的车轮碾压.我们目前讨论的python学习周 ...

  3. set自动排序去重 stringstream流分割字符

    链接:https://vjudge.net/problem/UVA-10815#author=0 题意:给几段句子,按字典序筛选出单词. 题解:用C的话太麻烦,不如用自动去重并排序的set容器.有个地 ...

  4. vue学习(十五) 过滤器简单实用

    vue过滤器: 概念:vue.js允许你自定义过滤器可被用作一些常见文本的格式化.过滤器可以用在两个地方:插值表达式   v-bind表达式  由管道符指示 //过滤器调用时候的格式 {{ name ...

  5. 云原生时代高性能Java框架—Quarkus(二)

    --- *构建Quarkus本地镜像.容器化部署Quarkus项目* Quarkus系列博文 Quarkus&GraalVM介绍.创建并启动第一个项目 构建Quarkus本地镜像.容器化部署Q ...

  6. redis,rabbitmq,SqlAlchemy

    redis发布和订阅

  7. Mysql Backup

    1.完全备份# innobackupex --user=DBUSER --password=DBUSERPASS /path/to/BACKUP-DIR/如果要使用一个最小权限的用户进行备份,则可基于 ...

  8. JS 原生ajax写法

    <script> //step1.创建XMLHTTPRequest对象,对于低版本的IE,需要换一个ActiveXObject对象 var xhr; if (window.XMLHttpR ...

  9. int转换sys,argv参数问题

  10. 最新 laravel5.8 连接redis集群

    简介 Redis 是一个开源的,高级键值对存储数据库.由于它包含 字符串 , 哈希 , 列表 , 集合 , 和 有序集合 这些数据类型,所以它通常被称为数据结构服务器. 在使用 Laravel 的 R ...