分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

handlebars.js模版引擎随记

发布时间:2023-09-06 01:41责任编辑:胡小海关键词:js

前台的模版引擎有许多种,相比较而言 我个人更觉得handlebars更为轻便

首先github上下载自新版本的handelbars.js http://handlebarsjs.com

下载下来之后呢 我们需要在页面引入js

1 <script type="text/javascript" src="script/jquery.js"></script>2 <script type="text/javascript" src="script/handlebars-1.0.0.beta.6.js"></script>

引入之后我们需要在html中定义数据占位 在handlebars中最基本的就是使用 {{ }} 包裹 例如{{value}} handlebars模块会自动匹配相对应的值,对象或者函数

1 <div class="demo">2 ????<h1>{{name}}</h1>3 ????<p>{{content}}</p>4 </div>

你也可以单独的制作一个模版,用id或者class来确定唯一性,type是固定的 不可缺少

1 <script id="tpl" type="text/x-handlebars-template">2 ????<div class="demo">3 ????????????<h1>{{title}}</h1>4 ????????????<p>{{content.title}}</p>5 ????</div>6 </script>

在js中使用handlebars.compile()来预编译模版

1 //用jquery获取模板2 var tpl ?= ?$("#tpl").html();3 var template = Handlebars.compile(tpl);4 //模拟json数据5 var context = { name: "zhaoshuai", content: "learn Handlebars"};6 //匹配json内容7 var html = template(context);

一般我们使用模版引擎最主要还是解决数据的遍历问题 所以 handlebars里面有内置的表达式 each 我们可以利用 {{#each name}}来遍历列表块的内容,用this来引用遍历的元素, name是数组

1 <ul>2 ??????{{#each name}}3 ????????<li>{{this}}</li>4 ??????{{/each}}5 </ul>

对应json是:

1 {2 ??name: ["html","css","javascript"]3 };

编译后:

1 <ul>2 ??<li>JavaScript</li>3 ??<li>HTML</li>4 ??<li>CSS</li>5 </ul>

在最后必须要提的是 引入的时候一定要放在 jquery的后面 不然handlebars里面有的方法会报错的

再补一点 模版内的 注释

写法如下:

1 {{! handlebars comments }}

 最后贴上一张 写好的代码

handlebars.js模版引擎随记

原文地址:https://www.cnblogs.com/we-jack/p/8432486.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved