handlebars使用DEMO

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>handlebars_v2.0_demo</title>
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/handlebars-v2.0.0.js"></script>
</head>

<div id="demo">

</div>

<script id="user-template" type="text/x-handlebars-template">
	<h1>{{time}}</h1>
	{{#each user}}
		<p>
			{{#if name}}
				{{@index}}.
				姓名:{{name}}
				年龄:{{age}}
				成年:{{Adult age}}
				{{#Compare age 18 }}
				大于等于18岁
				{{else}}
				小于18岁
				{{/Compare}}
				记录时间:{{../../time}}
			{{/if}}

		</p>
	{{/each}}
</script>
<script>
$(function(){
	var data = {
			user:[{
				name:"sky",
				age:28
				},{
				name:"json",
				age:10
				},{
				age:2
				},{
				name:"joy",
				age:18
				}],
			time:"2014-12-26"
		}
	var myTemplate = Handlebars.compile($("#user-template").html());
	Handlebars.registerHelper("Adult",function(age){return (age >= 18) ? "成年" : "未成年";});
	Handlebars.registerHelper("Compare",function(i1,i2,options){if(i1>=i2) {return options.fn(this); }else {return options.inverse(this);}});
	$("#demo").html(myTemplate(data));
})
</script>

<div id="demo2">

</div>
<script id="class-template" type="text/x-handlebars-template">
	{{#each this}}
		<dl>
			<dt>{{class}} 共有{{group.count}}个小组 班长:{{student.[0].name}}</dt>
			{{#with student}}
			{{#each this}}
			<dd>{{name}}</dd>
			{{/each}}
			{{/with}}
		</dl>
	{{/each}}
</script>
<script>
$(function(){
	var data2 = [
		{
			class:"一年级",
			student:[{
					name:"王晓飞"
				},{
					name:"陈扇"
				},{
					name:"理查德"
				}],
			group:{
				count:6
				}

		},
		{
			class:"二年级",
			student:[{
					name:"朱暖"
				},{
					name:"张坚庭"
				},{
					name:"刘海得"
				}],
			group:{
				count:8
				}
		}]
	var myTemplate = Handlebars.compile($("#class-template").html());
	$("#demo2").html(myTemplate(data2));
})
</script>

<div id="demo3">

</div>
<script id="class2-template" type="text/x-handlebars-template">
	{{#each this}}
		<dl>
			<dt>{{class}}</dt>
			{{#with student}}
			{{#each this}}
			<dd>{{this}}</dd>
			{{/each}}
			{{/with}}
		</dl>
	{{/each}}
</script>
<script>
$(function(){
	var data2 = [
		{
			class:"一年级",
			student:[
					"王晓飞",
					"陈扇",
					"理查德"
				]
		},
		{
			class:"二年级",
			student:[
					"朱暖",
					"张坚庭",
					"刘海得"
				]
		}]
	var myTemplate = Handlebars.compile($("#class2-template").html());
	$("#demo3").html(myTemplate(data2));
})
</script>
<body>
</body>
</html>

  

点击下载:

js_demo_handlebars.rar

时间: 2024-11-01 13:42:19

handlebars使用DEMO的相关文章

bower程序包管理器与npm的对比及handlebars包的使用实例

1.bower: 专门为前端表现设计的程序包管理器,类似npm,主要用于前端优化.bower可以管理包含HTML,CSS,JavaScript,字体甚至是图像文件的组成部分.bower并没有做别的事 - 它仅仅安装你需要的包及其依赖的正确版本. 2.**依赖node环境,window用户必须安装git工具.安装和升级bower必须用npm. 3.npm 和bower 的最大区别,就是 npm 支持嵌套地依赖管理(),而 bower只能支持扁平的依赖(嵌套的依赖,由程序员自己解决). **npm与

handlebars的使用

web 开发中,js 解析JSON 是经常的事情.非常繁琐.handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中 html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head&

模版引擎Handlebars和Mustache

Handlebars是一款很高效的模版引擎,提供语意化的模版语句,最大的兼容Mustache模版引擎, 提供最大的Mustache模版引擎兼容, 无需学习新语法即可使用; 下面这个是基本的模版表达式, 其中 {{ 和 }} 之间为handlerbars的变量; <div class="entry"> <h1>{{title}}</h1> <div class="body"> {{body}} </div>

进击的handlebars前后端模板引擎

在browser浏览器中使用Handlebars 1 基本语法 <div class="demo"> <h1>{{name}}</h1> <p>{{content}}</p> </div> 2 通过script标签放置模板 <script type="text/template" id="avatarTpl"> <div class="info_b

10分钟左右学Handlebars

h2{font-size:1.2em}p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家 原文:Learn Handlebars in 10 Minutes or Less 翻译:前端开发whqet, 意译为主,不当之处敬请指正. 作者简介:Danny Markov ,Tutorialzine的bootstrap和html5方面的专家,业余时间喜欢骑自行车或在公园的某个角度码码. 译者的话:据说handlebars是一个流行的模板引擎,可以把ht

Handlebars学习笔记2

Handlebars是什么 Handlebars是javascript的一个语义编译模板,它可以兼容Mustache,引入的Mustache可以获得Handlebars的一些额外功能. Handlebars语句 1 <div class="entry"> 2 <h1>{{title}}</h1> //Handlebars的语句是从花括号开始{{内容}} 3 <div class="body"> 4 {{body}} 5

JS模板Handlebars的使用和有效组织

应用背景 我们在做项目时,为了使页面模块高度复用,使用页面模板是必须的,我想大家通常可能会新建MVC的项目,然后在页面中使用Razor引擎,新建Helper模板类,前后台代码的混写,简洁高效,一切都是那么的行云流水,我就是这么干的! 直到有一天,当我快做完一个项目时,经理对我说,你不要直接访问数据库,用接口就行了,是啊,说的多轻松,但对程序员来说这就是晴天霹雳啊,因为这意味着你这个项目的流程彻底改变.  变成 初看起来好像没什么大的问题,砍掉整个后台好像还方便了不少,但还是有些问题,因为接口返回

Handlebars模板引擎

Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less template"(无逻辑模版)的思路,在加载时被预编译,而不是到了客户端执行到代码时再去编译, 这样可以保证模板加载和运行的速度.Handlebars兼容Mustache,你可以在Handlebars中导入Mustache模板. 使用与安装 Handlebars的安装非常简单,你只需要从Github下载最新版本,你也可访问下面网址获取最新信

handlebars.js模版引擎随记

前台的模版引擎有许多种,相比较而言 我个人更觉得handlebars更为轻便 首先github上下载自新版本的handelbars.js http://handlebarsjs.com 下载下来之后呢 我们需要在页面引入js 1 <script type="text/javascript" src="script/jquery.js"></script> 2 <script type="text/javascript"