handlebars.js的使用
首先我们要明白handlebars.js是干什么用的,我们知道使用jsp很麻烦,
于是我们开始使用freemarker等模板引擎,但这个只是针对服务器端来解
析的,那么有没有一种模板引擎可以在前端实现呢,
这个当然有,就是我们现在要了解的handlebars。
在什么情况下使用handlebars
答: 针对前端开发,比如做ajax的时候,原来我们使用JQuery的load方法加载页面,
现在我们只需要有json数据过来就行了,这样减少了服务端的鸭梨,哈哈。
或者是你在做一些界面上的应用,总之将计算交到客户端这是非常可取的方式。
github地址:https://github.com/wycats/handlebars.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<!DOCTYPE html> < head > < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" /> < script src = "handlebars.js" ></ script > < script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></ script > < title >handlebars.js 模板引擎学习 by 雨林博客</ title > </ head > < body > < div id = "content" > 摸板引擎测试 by 雨林博客 </ div > < br /> 标题: < input id = "title" />< br /> 内容: < input id = "body" />< br /> < button onclick = "show();" >显示模板内容</ button > <!-- 模板数据 --> < script id = "content-template" type = "text/x-handlebars-template" > < div > < h1 >{{title}}</ h1 > < div > {{body}} </ div > </ div > </ script > < script type = "text/javascript" > function show(){ var source = $("#content-template").html();//获取模板内容 var template = Handlebars.compile(source);//返回模板编译对象,接下来可以传递参数 //编写模板中要绑定的json数据,属性对应着模板中的变量 var context = {title: $("#title").val(), body: $("#body").val()}; var html = template(context); $("#content").html(html); } </ script > </ body > </ html > |
执行效果: