这里介绍一个基于jQuery开发的模板引擎。
jTemplates目前最新的版本是0.7.8,由tPython开发。官方网站:http://jtemplates.tpython.com
两个附件,一个是jTemplates官方网站提供的下载包,其中包括jTemplates的说明、jTemplates JS库、jTemplates DOC。
另一个是使用jTemplates做的三个DEMO。
一 , 简单介绍
它是一个基于jQuery开发的javascript模板引擎。它主要的作用如下:
1. 通过JavaScript获取JSON形式的数据;
2. 获取一个HTML模板,与数据相结合,生成页面HTML。
二 , 快速上手
先来看一个简单的例子:
<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
<script type="text/javascript" src="jquery-jtemplates.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//初始化数据
var data = {
name: '用户列表',
list_id: '编号89757',
table: [
{id: 1, name: 'Rain', age: 22, mail: 'cssrain@domain.com'},
{id: 2, name: '皮特', age: 24, mail: 'cssrain@domain.com'},
{id: 3, name: '卡卡', age: 20, mail: 'cssrain@domain.com'},
{id: 4, name: '戏戏', age: 26, mail: 'cssrain@domain.com'},
{id: 5, name: '一揪', age: 25, mail: 'cssrain@domain.com'}
]
};
// 附上模板
$("#result1").setTemplateElement("template");
// 给模板加载数据
$("#result1").processTemplate(data);
});
</script>
<!-- 模板内容 -->
<textarea id="template" style="display:none">
<strong>{$T.name} : {$T.list_id}</strong>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>邮箱</th>
</tr>
{#foreach $T.table as record}
<tr>
<td>{$T.record.id}</td>
<td>{$T.record.name}</td>
<td>{$T.record.age}</td>
<td>{$T.record.mail}</td>
</tr>
{#/for}
</table>
</textarea>
<!-- 输出元素 -->
<div id="result1" ></div>
上面代码中,先导入了jQuery.js,然后导入jtemplates.js。
接下来新建了一个data数据的json对象。
var data = {
......
};
然后在HTMl页面上增加一个 输出元素 和 一个模板元素:
最后在JS给输出元素 附加模板 和 数据。
这样,运行代码后,出现如下图所示界面。
用户列表 : 编号89757
编号 姓名 年龄 邮箱
1 Rain 22 cssrain@domain.com
2 皮特 24 cssrain@domain.com
3 卡卡 20 cssrain@domain.com
4 戏戏 26 cssrain@domain.com
5 一揪 25 cssrain@domain.com
三 , 加载模板
这次把模板放到一个单独的页面中,而不是直接写在页面里。
新建一个template.html,放入以下代码:
<strong>{$T.name} : {$T.list_id}</strong>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>邮箱</th>
</tr>
{#foreach $T.table as record}
<tr>
<td>{$T.record.id}</td>
<td>{$T.record.name}</td>
<td>{$T.record.age}</td>
<td>{$T.record.mail}</td>
</tr>
{#/for}
</table>
然后新建一个json文件,名称为cs.json,代码如下:
{
name: "用户列表",
list_id: "编号89757",
table: [
{id: 1, name: 'Rain', age: 22, mail: 'cssrain@domain.com'},
{id: 2, name: '皮特', age: 24, mail: 'cssrain@domain.com'},
{id: 3, name: '卡卡', age: 20, mail: 'cssrain@domain.com'},
{id: 4, name: '戏戏', age: 26, mail: 'cssrain@domain.com'},
{id: 5, name: '一揪', age: 25, mail: 'cssrain@domain.com'}
]
}
在jQuery中,可以通过$.ajax()方法来加载 json文件,代码如下:
<script type="text/javascript">
$(function(){
$.ajax({
type: "post",
dataType: "json",
url: "cs.json",
success: function(data){
.....
}
});
});
</script>
在success回调函数里,首先需要设置模板,然后需要添加数据。如下代码所示:
success: function(data){
// 设置模板
$("#result1").setTemplateURL("template.html?date="+(+new Date()), null, {filter_data: true});
// 加载数据
$("#result1").processTemplate(data);
}
}
完整代码如下所示:
$(function(){
$.ajax({
type: "post",
dataType: "json",
url: "cs.json",
success: function(data){
$("#result1").setTemplateURL("template.html?date="+(+new Date()), null, {filter_data: true});
$("#result1").processTemplate(data);
}
});
});
分享到:
相关推荐
**jQuery jTemplates** 是一个强大的JavaScript模板引擎,它专门设计用于Web开发中的前端数据绑定。在Web应用程序中,数据和视图之间的分离是至关重要的,而jTemplates提供了一个高效的解决方案,使得开发者能够将...
内容索引:脚本资源,jQuery,jTemplates jTemplates是一套用作较广的基于jQuery开发的javascript模板引擎,用它可以配合ASP/PHP/JSP/等众多语言来完成诸如通过JavaScript获取JSON数据、获取一个HTML模板、构建客户端...
jQuery 模板引擎如 JTemplates 提供了一种简便的方式来动态生成 HTML 内容,尤其是当需要处理复杂的数据结构时,可以极大地简化 JavaScript 代码。 JTemplates 是一个基于 jQuery 的模板库,允许开发者定义 HTML ...
jTemplates是一套用作较广的基于jQuery开发的javascript模板引擎,用它可以配合ASP/PHP/JSP/等众多语言来完成诸如通过JavaScript获取JSON数据、获取一个HTML模板、构建客户端分页表格、与数据结合生成HTML静态页面的...
jTemplates是一款基于jQuery的模板引擎,旨在简化JavaScript中的数据绑定和动态内容渲染。它通过使用预定义的模板语法,允许开发者将HTML结构和数据逻辑分离,从而在不涉及复杂的DOM操作的情况下实现动态页面更新。...
JTemplates 是一个强大的JavaScript模板引擎,用于在客户端动态生成HTML内容。它允许开发者将数据和视图分离,通过简单的模板语法将数据填充到HTML结构中,从而实现高效的页面渲染。JTemplates 提供了一种灵活、可...
总之,jTemplates组件源码的学习可以帮助开发者更好地理解JavaScript模板引擎的实现原理,提高前端开发能力。通过深入研究源码,我们可以学习到如何优雅地处理数据与视图的关系,以及如何优化模板引擎的性能。
最后,"jquery-jtemplates.js"是jTemplate插件的文件,这是一个基于jQuery的模板引擎。jTemplate允许开发者使用简单的HTML模板语法来动态渲染数据,将数据绑定到页面元素上,实现数据驱动的视图更新。这在处理大量或...
`jTemplates`是jQuery的一个模板引擎,它允许开发者使用简单的模板语法来动态渲染HTML。这个插件的主要优点是它可以与任何数据源(如JSON)配合使用,无需复杂的后端逻辑。开发者可以创建包含变量、条件语句和循环...