Html模板引擎Handlerbars使用demo
2024-09-08 10:54:44
1.自定义demo
<html>
<head>
<script src="./handlebars-v4.0.12.js"></script>
</head>
<body>
<ul id='tmpContainer1'></ul>
<ul id = 'tmpContainer2'></ul> <!--案例1-->
<script id='tmp1' type="text/x-handlebars-template">
{{#each people}}
<li>{{name}}</li>
{{/each}}
</script>
<script type="text/javascript">
//1.定义模板填充用的参数
var content = {
people : [
{name:'aa', age: 12},
{name:'bb', age: 12},
{name:'cc', age: 15},
{name:'dd', age: 16},
]
}
//2.定义模板
var template1 = Handlebars.compile(document.getElementById("tmp1").innerHTML);
//3.模板套用填充参数,返回模板填充结果
var html1 = template1(content);
//4.将模板填充的结果嵌入到页面响应位置
document.getElementById("tmpContainer1").innerHTML = html1;
</script> <!--======================================================--> <!--案例2-->
<script id = 'tmp2' type="text/x-handlebars-template">
{{#each people}}
<li>{{combine this}}</li>
{{/each}}
</script>
<script>
var content = {
people : [
{name:'aa', age: 12},
{name:'bb', age: 12},
{name:'cc', age: 15},
{name:'dd', age: 16},
]
}
//注意helper的注册要先于 Handlebars.compile()的执行,否则报错。
Handlebars.registerHelper('combine',function(item){
return item.name + ' '+ item.age;
}) var template2 = Handlebars.compile(document.getElementById("tmp2").innerHTML);
var html2 = template2(content);
document.getElementById("tmpContainer2").innerHTML = html2; </script>
</body>
</html>
2. 更多demo(较详细介绍)请参看如下博客
http://www.cnblogs.com/zcynine/p/5014421.html
最新文章
- 安卓android sharepreference数据存储,保存输入框里面的数据
- 剑指Offer-【面试题05:从头到尾打印链表】
- 用好spring mvc validator可以简化代码
- log4net配置和获取ILog实例
- Yii2 行为
- Different Ways to Add Parentheses
- BigDecimal类的加减乘除
- Git教程之删除文件(8)
- WebDeploy to remote IIS
- rhce 第十题 配置NFS服务
- Linux 防火墙
- 线上Slave报1062的案例
- Codeforces 785E. Anton and Permutation
- python3.7安装
- MediaPlayer音乐播放器、上一首、下一首、播放、停止、自动下一首、进度条
- HTML常用模板:用DIV实现网站首页、后台管理首页(整理)
- (转) mysqldumpslow使用说明总结
- configuration on ubuntu server
- Linux环境更改Jenkins的主目录
- 编辑器配置 vscode / Atom / Sublime Text
热门文章
- mybatis在动态 SQL 中使用了参数作为变量,必须要用 @Param 注解
- .NET平台系列30:.NET Core/.NET 学习资源汇总
- mybatis入“坑”第一步
- redis不完整的事务实现Transaction
- MySQL 为什么使用 B+ 树来作索引?
- 20204107 孙嘉临《Python程序设计》实验三报告
- MATLAB导入txt和excel文件技巧汇总:批量导入、单个导入
- 信奥赛一本通1573:分离与合体C++分离与合体
- Jquery 插件 chosen_v1.8.7 下拉复选框带搜索功能
- 『心善渊』Selenium3.0基础 — 22、使用浏览器加载项配置实现用户免登陆