数据:

var data1 = {

"computer": [
{
  "brand": "lenovo",
  "color": "black"
},
{
  "brand": "ASUS",
  "color": "white"
},
{
  "brand": "dell",
  "color": "red"
}
]
};


1-->创建一个handlebars的html模板 用于将遍历的数据插入其中
<script id="table-template" type="text/x-handlebars-template">
{{#each computer}} //{{#each this}}直接遍历当前对象
  <div>
    <span>{{brand}}</span>
    <span>{{color}}</span>
  </div>
{{/each}}
</script>

2-->
//注册一个Handlebars模版,通过id找到某一个模版,获取模版的html框架
var myTemplate = Handlebars.compile($("#table-template").html());

3-->
//将json对象用刚刚注册的Handlebars模版封装,得到最终的html,插入到基础table中。
$('#tableList').html(myTemplate(data));


================================================================

//注册一个比较数字大小的Helper,有options参数,块级Helper

Handlebars.registerHelper("compare",function(num1,num2,options){

//判断v1是否比v2大

if(num1>num2){

return options.fn(this);

}else{

//Handlebars 以 options.inverse 的形式来支持 else 块中的代码。
return options.inverse(this); //

}

});

================================================================
Handlebars.registerHelper("plusone",function(options){
return options.fn(this+1); //this 指向当前的上下文
});

 

可以通过.来访问属性也可以使用../,来访问父级属性。
<h1>{{computer.brand}}</h1>
<h1>{{../computer}}</h1>