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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Handlebars demo</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="js/handlebars-1.0.0.beta.6.js"></script>
<script type="text/javascript" src="js/myjs.js"></script>
<style type="text/css"></style>
</head>
<body>
<h2>Simple handlebars demo</h2>
<button id="btn_simple">Click me</button>
<div id="my_div">
</div>
<h2>Handlebars Helpers demo</h2>
<button id="btn_helper">Click me</button>
<div id="helper_div">
</div>
<script id="some-template" type="text/x-handlebars-template">
<table>
<thead>
<th>Username</th>
<th>Real Name</th>
<th>Email</th>
</thead>
<tbody>
{{#if users}}
<tr>
<td>{{username}}</td>
<td>{{firstName}} {{lastName}}</td>
<td>{{email}}</td>
</tr>
{{else}}
<tr>
<td colspan="3">NO users!</td>
</tr>
{{/if}}
</tbody>
</table>
</script>
<script id="helper-template" type="text/x-handlebars-template">
<div>
<h1>By {{fullName author}}</h1>
<div>{{body}}</div>
<h1>Comments</h1>
{{#each comments}}
<h2>By {{fullName author}}</h2>
<div>{{body}}</h2>
{{/each}}
</div>
</script>
</body>
</html>
Js代码
$(document).ready(function(){
Handlebars.registerHelper('fullName', function(person) {
return person.firstName + " " + person.lastName;
});
$("#btn_simple").click(function(){
// $(this).hide();
showTemplate();
});
$("#btn_helper").click(function(){
showHowUseHelper();
});
});
// var context = {title: "My New Post", body: "This is my first post!"};
var persion = {title :"My New Post",body:"This is my first post!"}
function showTemplate(){
var source = $("#some-template").html();
var template = Handlebars.compile(source);
var data = { users: [
{username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },
{username: "allison", firstName: "Allison", lastName: "House", email: "allison@test.com" },
{username: "ryan", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" }
]};
$("#my_div").html(template(data));;
}
function showHowUseHelper(){
var context = {
author: {firstName: "Alan", lastName: "Johnson"},
body: "I Love Handlebars",
comments: [{
author: {firstName: "Yehuda", lastName: "Katz"},
body: "Me too!"
}]
};
var source = $("#helper-template").html();
var template = Handlebars.compile(source);
$("#helper_div").html(template(context));;
}
分享到:
相关推荐
本文主要是给大家分享的一个javascript页面模板库Handlebars的简单用法,可以帮助大家轻松的构建语义化模板,非常的实用,推荐给大家。
测试案例就分为3大块,头、主体、尾: <div id=header></div> <div class=contact id=contact></div> <div id=footer></div> 先来讲讲id=”contact”主体有些什么内容,html代码就不贴了,直接看下图: handlebars...
默认情况下, clayhandlebars将导出一个函数,该函数返回一个新的handlebars实例,其中添加了所有辅助对象和部分对象。 var hbs = require ( 'clayhandlebars' ) ( ) , template = hbs . compile ( '<h1>Hello {{ ...
安装使用安装npm i handlebars-helper-lorem --save运行测试npm test注册帮手这应该适用于任何引擎,这里有几个例子 template . helper ( 'handlebars-lorem' , require ( 'handlebars-helper-lorem' ) ) ;组装 ^...
这个库的主要目标是简化 Ruby 和 Handlebars 在 Windows 机器上的使用。 如果您不需要在 Windows 上工作,请查看使用真正 Handlebars 库的 。 正在安装 只需运行: gem install ruby-handlebars 不需要 libv8、...
安装鲍尔 bower install bullhorn-handlebars-helpers新产品管理 npm install bullhorn-handlebars-helpers用法节点在 Node.js 环境中,需要 helper 作为标准模块,并将 Handlebars 对象的实例传递给所需的函数。...
换句话说,如果模板包含字符串{{amount}} ,那么根演示者必须提供一个名为amount的实例方法。 每当在模板中遇到诸如{{recipient.name}}类的更深的引用(如path)时,根演示者都应该拥有一个名为recipient的方法,该...
这个简单的全栈应用程序使用Node,Express,MySQL和模板引擎Handlebars来显示新订购和吞噬的汉堡的日志。 目录 描述 该应用程序使用Handlebars和Express以动态方式提供静态文件,并从连接MySQL数据库中获取数据。 ...
$ npm install cortex-handlebars-compiler --save 用法 var compiler = require ( 'cortex-handlebars-compiler' ) ; 编译器(选项) 返回compiler.Compiler实例。 类:compiler.Compiler(选项) 单个编译器...
为了呈现内容,它使用存储在Watson Content Hub(WCH)中的Handlebars模板。 该示例提供了几个Handlebars模板。 一个包含此应用程序的两个实例的门户页面。 顶部实例显示单个“英雄横幅”内容项,底部实例显示搜索...
赃物 Swag是用于的越来越多的帮助程序集合。 给你的handlebars.js模板一些赃物! 用法 <!-- Browser -->... 此方法将向您传递给它的Handlebars实例注册所有Swag帮助器。 <script src="../path_to/han
js模版引擎handlebars.js实用教程demo。 官方+自己的总结
Handlebars.js是一个Javascript客户端的模板引擎(它也能用于服务器端)。它是一个Javascript库,就像你在页面中包含其他.js文件一样。有了它,在你的HTML页面内添加模板,模板会被你通过Handlebars.js函数传递的...
Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板。它采用"Logic-less template"(无逻辑模版)的思路,在加载时被预编译,而不是到了客户端执行到代码时再去编译, 这样可以保证...
使用 Lo-Dash、下划线和 Handlebars 语法进行测试,但也可以与其他模板引擎/语法一起使用。 这类似于 Yeoman 在生成器中对转义模板使用的过程。安装使用安装npm i escape-delims --save用法 var EscapeDelims = ...
如果您要运行自己的Ghost实例,则在大多数情况下,最好的方法是使用我们的CLI工具 $ npm install ghost-cli -g 然后,如果在local安装,请添加local标志以在一分钟内启动并运行- $ ghost install local :warning: ...
该平台使用的实例来持久化所有主题,包括博客文章和其他工件。用法安装说明现在((以防 GitHub 拒绝正确显示该链接,它是这样的: : ))发展在内部,它是使用目录 /devtest 中的 javascript 文件开发的,该目录未...
该应用程序是一个基于Node.js(Express + MongoDB)构建的简单ToDo列表,作为使用Handlebars.js构建的服务器端和客户端 构型 在开始使用该应用程序之前,您需要设置个人配置。 该应用程序的配置位于根目录下的.env...
一个定制的Handlebars渲染器的实例,它具有生成文档所需的所有有用功能。 foundationDocs.marked 自定义标记渲染器的实例,它具有两个自定义功能: 编写标题时,锚图标将添加到标题文本的左侧。 编写代码
使用到Handlebars模板技术和手机验证码校验。 以下是效果截图: 1.页面代码:usersRegister.hbs XML/HTML Code复制内容到剪贴板 <!DOCTYPE html> <!–[if IE 8 ]> <html lang=en class=ie8>...