handlebars模板引擎入门开发
什么是模板引擎
模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
Web前端模板引擎
也就是说,在我们前端界面可以通过JavaScript代码库,来生成HTML代码片段了,哇,好厉害的样子。
其中一个应用比较多的一个handlebars模板引擎,比较成功的应用案例是国外的视频教育平台Udemy,而且在使用Node.js开发时候同样可以使用handlebars作为后端的模板引擎,实在是太实用了。
Web前端为什么要使用模板引擎
由于Ajax技术的成为目前Web开发的主流技术。为了满足系统的扩展性与多表现力节约成本,开始兴起了一种后台接口风格Restful。这种风格传递数据通常以JSON格式,因此避免不了的就是,当数组数据传递过来的时候我们需要显示到表格界面,要做字符串拼接。而这样会造成一个问题,就是可维护性差。为了解决这一问题我们可以使用模板引擎来处理生成HTML代码片段而不是拼接字符串。
Handlebars模板引擎 相关资源
官方网站:http://handlebarsjs.com/
github地址:https://github.com/wycats/handlebars.js
简单的Handlebars使用案例
<!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>