js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
来源:互联网 发布:3d彩票预测软件 编辑:程序博客网 时间:2024/05/19 10:36
我们发现,Handlebars的模板标签中,{{#if condition}}{{/if}}只能判断这个condition是否为true和false,并不能判断是否等于某个特定的值。
我们可以借助Handlebars的registerHelper方法来实现。
<!DOCTYPE html>
<html><head>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<title>由于if功力不足引出的Helper - by 杨元</title>
</head>
<body>
<h1>由于if功力不足引出的Helper</h1>
<!--基础html框架-->
<table>
<thead>
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
</thead>
<tbody id="tableList">
</tbody>
</table>
<!--插件引用-->
<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript" src="script/handlebars-1.0.0.beta.6.js"></script>
<!--Handlebars.js模版-->
<!--Handlebars.js模版放在script标签中,保留了html原有层次结构,模版中要写一些操作语句-->
<!--id可以用来唯一确定一个模版,type是模版固定的写法-->
<script id="table-template" type="text/x-handlebars-template">
{{#each student}}
{{#if name}}
{{#compare age 20}}
<tr>
<td>{{name}}</td>
<td>{{sex}}</td>
<td>{{age}}</td>
</tr>
{{else}}
<tr>
<td>?</td>
<td>?</td>
<td>?</td>
</tr>
{{/compare}}
{{/if}}
{{/each}}
</script>
<!--进行数据处理、html构造-->
<script type="text/javascript">
$(document).ready(function() {
//模拟的json对象
var data = {
"student": [
{
"name": "张三",
"sex": "0",
"age": 23
},
{
"sex": "0",
"age": 22
},
{
"name": "妞妞",
"sex": "1",
"age": 18
}
]
};
//注册一个Handlebars模版,通过id找到某一个模版,获取模版的html框架
//$("#table-template").html()是jquery的语法,不懂的童鞋请恶补。。。
var myTemplate = Handlebars.compile($("#table-template").html());
//注册一个比较大小的Helper,判断v1是否大于v2
Handlebars.registerHelper("compare",function(v1,v2,options){
if(v1>v2){
//满足添加继续执行
return options.fn(this);
}else{
//不满足条件执行{{else}}部分
return options.inverse(this);
}
});
//将json对象用刚刚注册的Handlebars模版封装,得到最终的html,插入到基础table中。
$('#tableList').html(myTemplate(data));
});
</script>
</body>
</html>
0 0
- js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
- js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
- 11-由于if功力不足引出的Helper
- js模版引擎handlebars.js实用教程——if-判断的基本用法
- js模版引擎handlebars.js实用教程——if-判断的基本用法
- handlebars-----由于if的条件不足引出的helper
- Js模版引擎handlebars.js实用教程——目录
- js模版引擎handlebars.js实用教程——目录
- js模版引擎handlebars.js实用教程——目录
- js模版引擎handlebars.js实用教程——目录
- js模版引擎handlebars.js实用教程——为什么选择Handlebars.js
- js模版引擎handlebars.js
- js模版引擎handlebars.js
- js模版引擎handlebars.js
- handlebars.js模版引擎中EACH循环遍历的使用
- 介绍一款js模版引擎handlebars
- handlebars.js模版引擎入门案例
- Handlebars js模版
- Android SDK Manager 更新不了 下载不了东西导致创建不了AVD
- 在阅读文献中提高升华自己
- C语言main函数中嵌套定义函数
- C++ 类的四大函数
- css+div中的百分比自适应宽度格局
- js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
- HDU 1166 敌兵布阵 【线段树】
- POJ 3468 A Simple Problem with Integers(线段树区间更新)
- proguard 混淆容易出的错。
- mark一个
- 【Oracle练习】④第5章 多表查询
- 【拓扑排序】poj 1094_Sorting It All Out_201408081725
- hdoj 1232 畅通工程
- ios 程序异常捕获