基本使用,并简单列举了几种常见的数据格式的渲染方式

js:
var testTpl = Handlebars.compile($('#test').html()); //模板
var arr = [1,2,3] //数据
$('#box').append(testTpl(arr)); //调用 html:
<script type="text/x-handlebars-template" id="test">
{{#each this}}
<li>索引:{{@index}},内容:{{this}}</li>
{{/each}}
</script>

下面说几种数据源如何渲染数据,js中基本一样,声明模板->声明要渲染数据->调用并插入到页面 ,不明白看 上面基本使用

数据源是Array 

js:
var arr = [1,2,3]
html:
{{#each this}}
<li>索引:{{@index}},内容:{{this}}</li>
{{/each}}

数据源是数组对象(对象内部包含数组,再次each这个数组即可)

js:
var arr = [
{'a':'1','b':2,'c':['4','5','6']},
{'a':'11','b':22,'c':['44','55','66']}
];
html:
{{#each this}}
<li>{{a}}</li>
<li>{{b}}</li>
{{#each c}}
<li>父级索引{{../a}}.{{@index}}:访问父级:{{../a}} 。当前索引:{{@index}},当前元素:{{this}} </li>
{{/each}}
{{/each}}

数据源是对象

js:
var context = {
data:{
one: "un",
two: "deux",
three: "trois"
}
}
html:
<ul>
{{#each data}}
<li>对象的key:{{@key}},对象的值:{{this}}</li>
{{/each}}
</ul>
<ol>
{{#each data}}
<li>对象的索引:{{@index}},对象的值:{{this}}</li>
{{/each}}
</ol>

数据源数对象数组

js:
var context = {
data: ["one", "two", "three"],
data2: ["one", "two", "three"],
};
html:
<ul>
{{#each data}}
<li>
数组的索引:{{@index}} ,索引对应的内容:{{this}}{{#eq @index 0}}王生辉{{/eq}}
</li>
{{/each}}
{{#each data2}}
<li>
数组的索引:{{@key}},索引对应的内容:{{shenghui this}}
</li>
{{/each}}
</ul>

说明:@key 和@index

     @key:如果当循环的数据是数组 则返回下标,如果是对象则返回key值

   @index:都返回下标

Handlebars模板引擎渲染页面的更多相关文章

  1. Handlebars模板引擎中的each嵌套及源码浅读

    若显示效果不佳,可移步到愚安的小窝 Handlebars模板引擎作为时下最流行的模板引擎之一,已然在开发中为我们提供了无数便利.作为一款无语义的模板引擎,Handlebars只提供极少的helper函 ...

  2. Handlebars模板引擎之高阶

    Helpers 其实在Handlebars模板引擎之进阶我想说if else的功能的,可是由于这个功能在我的开发中我觉的鸡肋没啥用,就直接不用了. 因为if else只能进行简单判断,如果条件参数返回 ...

  3. handlebars模板引擎使用初探1

    谈到handlebars,我们不禁产生疑问,为什么要使用这样的一个工具呢?它究竟能为我们带来什么样的好处?如何使用它呢? 一.handlebars可以干什么? 首先,我们来看一个案例: 有这样的htm ...

  4. 强制IE使用最高版本引擎渲染页面,避免默认使用IE7引擎导致的页面布局混乱及其它问题

    背景 基于Asp.net MVC的一个Intranet web application, 现象 Application发布到服务器端后,在客户端IE访问页面布局混乱,并有javascript报错 原因 ...

  5. SpringBoot入门篇--使用Thymeleaf模板引擎进行页面的渲染

    在做WEB开发的时候,我们不可避免的就是在前端页面之间进行跳转,中间进行数据的查询等等操作.我们在使用SpringBoot之前包括我在内其实大部分都是用的是JSP页面,可以说使用的已经很熟悉.但是我们 ...

  6. Handlebars 模板引擎之前后端用法

    前言 不知不觉间,居然已经这么久没有写博客了,坚持还真是世界上最难的事情啊. 不过我最近也没闲着,辞工换工.恋爱失恋.深圳北京都经历了一番,这有起有落的生活实在是太刺激了,就如拿着两把菜刀剁洋葱一样, ...

  7. express-9 Handlebars模板引擎(2)

    视图和布局 视图通常表现为网站上的各个页面(它也可以表现为页面中AJAX局部加载的内容,或一封电子邮件,或页面上的任何东西).默认情况下,Express会在views子目录中查找视图.布局是一种特殊的 ...

  8. 【转】在Express项目中使用Handlebars模板引擎

    原文:http://fraserxu.me/2013/09/12/Using-Handlebarsjs-with-Expressjs/ 最近在用Expressjs做一个项目,前后端都用它来完成.自己之 ...

  9. iOS:使用模板引擎渲染HTML界面

    在实际开发中,UIWebView控件接受一个HTML内容,用于相应的界面,下面是该API的接口: - (void)loadHTMLString:(NSString *)string baseURL:( ...

随机推荐

  1. 关于拒绝测试驱动开发(NoTDD)

    今天在reddit看到微软某大牛的博客(https://blogs.msdn.microsoft.com/ericgu/2017/06/22/notdd/),说到拒绝TDD(测试驱动开发,下文统一使用 ...

  2. Java基础(2)-基础类型

    java基础类型 基础类型 package knowledge.base; public class Properties { /** * 整型 * int 4字节 -2 147 483 648 ~2 ...

  3. biz-NewsService

    package com.pb.news.service; import java.util.List; import com.pb.news.entity.News; public interface ...

  4. 使用Webpack加速Vue.js应用的4种方式

    Webpack是开发Vue.js单页应用程序的重要工具. 通过管理复杂的构建步骤,你可以更轻松地开发工作流程,并优化应用程序的大小和性能. 其中介绍下面四种方式: 单个文件组件 优化Vue构建 浏览器 ...

  5. 详细解析 JavaScript 获取元素的坐标

    引言 最近突然看到了有关图片懒加载的问题,大致意思就是初始状态下页面只加载浏览器可视区域的图片,剩余图片在当浏览器可视区域滚动到其位置时才开始加载.貌似现在许多大型网站都有实现懒加载,所以我便就此问题 ...

  6. 基本的传染病模型:SI、SIS、SIR及其Python代码实现

    本文主要参考博客:http://chengjunwang.com/en/2013/08/learn-basic-epidemic-models-with-python/.该博客有一些笔误,并且有些地方 ...

  7. 关于SurfaceView的那些事

    今天来说说SurfaceView吧 这东西的特性大家记住一个就行了,它的绘制是在子线程中,所以不堵塞UI,非常适合一些复杂的绘制 SuufaceView有一个重要的对象,是SurfaceHolder, ...

  8. jvm003 类加载的过程

    类加载的过程 一.加载 在加载阶段虚拟机需要完成以下三件事: 通过一个类的全限定名称来获取此类的二进制字节流 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 在内存中生成一个代表这个类的 ...

  9. UglyNumber - 找“丑数”

    uglynumber的定义是只能被1,2,3,5整除的数 规定1是第一个uglynumber:以此类推,1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 ...

  10. 51nod_1265:四点共面(计算几何)

    题目链接 设四点为a_0~3,若共面则 (a1a0*a2a0)·a3a0=0 #include<iostream> #include<cstdio> #include<c ...