handlebars,each循环里面套each循环
handlebars可以用each自动进行循环,下面介绍一下each循环里面套循环来着。
html代码
!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>handlebars循环套循环</title>
<style media="screen">
*{
margin: 0;
padding: 0;
list-style: none;
}
.time{
float:left;
width:100px;
}
.content{
float:left;
border-left:1px solid black;
width: 100px;
padding-left: 20px;
padding-bottom: 10px;
}
#dataList li{
clear: both;
}
</style>
</head> <body>
<div>
<ul id="dataList"> </ul>
</div>
<!-- 引入jquery、handlebars的JS文件 -->
<script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../js/handlebars.min.js"></script>
<!-- 创建一个script标签,把type属性改为:text/x-handlebars-template -->
<script id="table-template" type="text/x-handlebars-template">
<!-- 把data的数据进行循环 -->
{{#each data}}
<li>
<div class="time">
<p>{{name}}</p>
</div>
<div class="content">
<!-- 把data:info里面的数据再次进行循环 -->
{{#each info}}
<!-- info里面多个数据,所以这里可以直接连续打印多个this -->
<p>{{this}}</p>
{{/each}}
</div>
</li>
{{/each}}
</script> <script type="text/javascript" src="./index.js"></script> </body>
</html>
index.js代码:
// JSON数据
var data = [
{
"name":"张三",
"info":[
"眼睛",
"耳朵",
"鼻子"
]
},{
"name":"李四",
"info":[
"眼睛",
"耳朵",
"鼻子"
]
}]; // 封装一个函数,传进去三个值(填充的内容(script标签的id),(需要填充位置的id),(数据))
var fillTemplate = function(templateObj,contentObj,fillData){
var templateHtml = templateObj.html();
var template = Handlebars.compile(templateHtml);
contentObj.html(template(fillData));
}; fillTemplate($("#table-template"),$("#dataList"),{data:data});
handlebars,each循环里面套each循环的更多相关文章
- php 循环里面套sql怎么解决
功能要求: 企业列表(展示企业的基本信息,这里只获取了名称.logo.和服务类型), 服务类型说明: 服务类型一共3级,1.2级是必填的,3级是非必填,如果填的话最多3个, 服务类型1.2.3保存在一 ...
- for循环里使用查询如何优化(代码库)
for循环里的查询,只是为了赋值对象中的一个字段,如果每一个都重新查一下数据库,影响效率 应该先进行查询,然后再循环里组装自己需要的业务数据 如下代码:list1 查询出对象的一部分内容,list2 ...
- js模版引擎handlebars.js实用教程——each-基本循环使用方法
返回目录 <!DOCTYPE html> <html> <head> <META http-equiv=Content-Type content=" ...
- foreach循环里不能remove/add元素的原理
foreach循环 foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素.Java语言从JDK 1.5.0开始引入forea ...
- 不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁
不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁. 正例: Iterator&l ...
- 【vue】vue使用Element组件时v-for循环里的表单项验证方法
转载至:https://www.jb51.net/article/142750.htm标题描述看起来有些复杂,有vue,Element,又有表单验证,还有v-for循环?是不是有点乱?不过我相信开发中 ...
- qt——for循环里创建widget
在for循环里创建 widget,比如test类 不能使用 test t; 而要使用 test t = new test(): for (i=0;i<=3;i++) { QPushButton* ...
- for循环里面的break;和continue;语句
for循环里面的break;和continue;语句 break语句 哇,我已经找到我要的答案了,我不需要进行更多的循环了! 比如,寻找第一个能被5整除的数: for循环中,如果遇见了break语句, ...
- js循环里进行回调,引用循环里的变量,发现只是最后值的问题
做项目的时候,栽在一个小地方,是这样的 我有很多个坐标点,我想把这些坐标点都绑定一个事件,当点击了这个坐标点之后,发送一个ajax 请求,将坐标点的id 发出去,等待显示返回的数据 但是实际当中,无论 ...
随机推荐
- linux的帮助信息获取以及man章节的划分
linux的帮助信息获取以及man章节的划分 linux 帮助 man 章节 linux 获取帮助的途径 (1)help (2)man (3)info command在线获取 (4)程序自带帮助文档 ...
- Python’s SQLAlchemy vs Other ORMs[转发 3]Django's ORM
Django's ORM Django is a free and open source web application framework whose ORM is built tightly i ...
- USB通信协议——深入理解
USB通信协议——深入理解 0. 基本概念 一个[传输](控制.批量.中断.等时):由多个[事务]组成: 一个[事务](IN.OUT.SETUP):由一多个[Packet]组成. USB数据在[主机软 ...
- Web APP开发技巧总结(转)
一.META/LINK相关: 1.百度禁止转码 通过百度手机打开网页时,百度可能会对你的网页进行转码,往你页面贴上它的广告,非常之恶心.不过我们可以通过这个meta标签来禁止它: <meta h ...
- iOS/OSX学习资源
https://www.raywenderlich.com/ (Ray视频教学) http://wiki.jikexueyuan.com/project/swift/ (swift中文学习网站)
- 14073102(CCDIKRecoil)
[目标] CCDIKRecoil [思路] 1 CCDIK和Recoil的结合 2 Recoil的回弹机制,逐渐回到原来位置 3 添加一个Recoil基类 [步骤] 1 将\Src\GameFrame ...
- 主流 SQLServer 迁移到 MySQL 工具对比
首次需要数据转换是测试环节,当时为了快速验证新研发云产品性能与结果准确性(算法类),所以需大量的原始数据,最快的办法就是使用老产品的真实数据.因为在前期数据转换时主用于内部验证,并没有花很多心思去处理 ...
- android 打包失败
如果在打包时提示: proguard returned with error code 1 并且在控制台中输出:'java'不是内部或外部程序或批处理文件 那么就说明你的环境变量出问题了,之前用的 ...
- 替换url中某个参数的值或是添加某个参数的方法(js 分页上下页可以使用)
function changeUrl(base, find, value) { var offset = base.indexOf(find); var index; var rr = ''; if( ...
- AtCoder Grand Contest 6
A - Prefix and Suffix 题意:输入一个整形变量n和两个字符串s,t,使用一些规则求满足条件的最短字符串的长度:规则如下:这个最短字符串的长度不能小于n:它的前n个字符必须与s相同: ...