handlebars.js 入门(1)
2017-02-26 17:47
197 查看
handlebars.js是javascript的一个语义模板库,它通过将data 与 view分离 来快速构建web模板,加载时预编译,一定程度上提高了代码的复用性和可维护性,提高敲代码的效率,总之,是一个轻量级的js 库,功能与现在流行的react 等相比,功能较为单一,但是,对于小型的数据而言,是一个不错的选择。
① 需要引入handlebars.js库
② 通过script标签创建一个模板template,模板内容自定义
③ 定义一个位置(eg:div),显示模板中的内容
④ 通过script标签, 获取模板对象的内容-->compile预编译模板-->定义json数据--> 匹配json数据-->输出模板
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>handlebarsTest</title>
<script type="text/javascript" src="js/handlebars-v4.0.5.js"></script>
</head>
<body>
结束, 内置的helper:迭代:each ,条件渲染:if else ,unless ;嵌套式针对某一个数据对象:with
内置的helper相对来说 ,实现某些复杂的功能有些局限性,故可以通过Handlebars.registerHelper()自定义helper,实现较为复杂的
功能,<待续>
这篇文章很不错:http://www.tuicool.com/articles/fqQFN3
① 需要引入handlebars.js库
② 通过script标签创建一个模板template,模板内容自定义
③ 定义一个位置(eg:div),显示模板中的内容
④ 通过script标签, 获取模板对象的内容-->compile预编译模板-->定义json数据--> 匹配json数据-->输出模板
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>handlebarsTest</title>
<script type="text/javascript" src="js/handlebars-v4.0.5.js"></script>
</head>
<body>
<div id="list"></div> // 模板输出位置
<!--定义template--> <script id="entry-template" type="text/x-handlebars-template"> <div class="myDiv"> <h2 class="title"> {{title}} </h2> {{#persons}} <ul class="myUl"> <li> 姓名:{{this.name}} ,年龄:{{this.age}} , 生日:{{this.birth}}</li> </ul> {{/persons}} <ul class="myUl"> </ul> </div> </script>
<!--获取模板,模板预编译,定义json数据,json数据匹配后,输出模板--> <script type="text/javascript"> var source = document.getElementById("entry-template").innerHTML; var template = Handlebars.compile(source); var data = { title: "person's information", persons:[ {name:"mike", age:12, birth:"11-12"}, {name:"mary", age:10, birth:"10-28"}, {name:"maply", age:16, birth:"2-22"} ] }; document.getElementById("list").innerHTML = template(data); </script> </body> </html>handlebars 有一些基本的语法,如变量调用:{{data}},变量不用转义: {{{data}}},block 局部作用域:{{#data}}开始,{{/data}}
结束, 内置的helper:迭代:each ,条件渲染:if else ,unless ;嵌套式针对某一个数据对象:with
内置的helper相对来说 ,实现某些复杂的功能有些局限性,故可以通过Handlebars.registerHelper()自定义helper,实现较为复杂的
功能,<待续>
这篇文章很不错:http://www.tuicool.com/articles/fqQFN3
相关文章推荐
- Handlebars.js 使用入门
- js模版引擎handlebars.js实用教程——如何引入Handlebars.js
- js模版引擎handlebars.js实用教程——each-循环中使用this
- Handlebars.js循环中索引(@index)使用技巧(访问父级索引)
- handlebars.js基础学习笔记
- js模版引擎handlebars.js实用教程――为什么选择Handlebars.js
- handlebars.js 用 <br>替换掉 内容的换行符
- Handlebars.js 预编译(转)
- js模版引擎handlebars.js实用教程——if-判断的基本用法
- js模版引擎handlebars.js实用教程——each嵌套
- Handlebars的使用方法文档整理(Handlebars.js)
- js模版引擎handlebars.js实用教程——with-进入到某个属性(进入到某个上下文环境)
- js模版引擎handlebars.js实用教程——结束语
- js模版引擎handlebars.js实用教程——关于HTML编码
- Handlebars.js的下载及使用示例
- js模版引擎handlebars.js实用教程——each-基本循环使用方法
- js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
- js模版引擎handlebars.js实用教程
- Handlebars.js 中文文档
- js模版引擎handlebars.js实用教程——目录