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

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. 【LeetCode】2. Two Sum

    题目: Given an array of integers, find two numbers such that they add up to a specific target number. ...

  2. tomcat启动不了,内存溢出

    今天下午不知道做了什么,然后tomcat启动了10分钟还启动不了.然后看控制台报错信息,说是内存溢出.然后就各种百度,终于解决了.在这里记录提示自己,避免这种问题再次出现还要浪费时间去找方法解决. 最 ...

  3. Unity 游戏框架搭建 (五) 简易消息机制

    什么是消息机制? 23333333,让我先笑一会. 为什么用消息机制?   三个字,解!!!!耦!!!!合!!!!. 我的框架中的消息机制用例: 1.接收者 ``` using UnityEngine ...

  4. CISCO2960配置vlan

    一.VTP配置 1.VLAN database 2.(VLAN)#vtp domain wx 3.(VLAN)#vtp server 二.VLAN配置 1.VLAN database 2.(VLAN) ...

  5. C#.NET 中visual studio生成的.pdb/ .vshost.exe/ .vshost.exe.manifest文件是什么

      pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配 ...

  6. 使用jenkins实现持续集成

    一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预: 它需要有专门的集成服务器来执行集成构建: 它需要有代 ...

  7. threejs里面的vector3源码解析

    // File:src/math/Vector3.js /** * @author mrdoob / http://mrdoob.com/ * @author *kile / http://kile. ...

  8. Centos 6.5 安装python3.6

    废话不多说,直接上步骤 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2rc1.tgz 进入 https://www.python.o ...

  9. HDU - 3697 Selecting courses

    题目链接:https://vjudge.net/problem/HDU-3697 题目大意:选课,给出每门课可以的选课时间.自开始选课开始每过五分钟可以选一门课,开始 时间必须小于等于四,问最多可以选 ...

  10. Linux shell for while 循环

    1.数字段形式for i in {1..10}do   echo $idone 2.详细列出(字符且项数不多)for File in 1 2 3 4 5 do     echo $File done ...