数据:
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>
浙公网安备 33010602011771号