jQuery模板提案(3)
作者:dishuipiaoxiang 来源:Denis'Blog 发布时间:2010-03-30 18:27:00
PURE(纯粹分离式渲染引擎)
PURE 模板引擎的目的在于使开发人员不使用任何特殊标记来声明模板。使用PURE有两种方法:autoRender()方法或render()方法。
使用autoRender()方法时,PURE自动将JSON的属性名称映射到css的class上。例如,你可以编写下面的代码来显示单个产品。
$(showProduct);
function showProduct() {
var product = { name: "Laptop", price: 788.67 };
$('div.product').autoRender(product);
}
autoRender()通过将product的name和price 属性分别映射到class为name和price 的元素上来显示产品。
<div class="product">
Product Name: <span class="name"></span>
<br />
Product Price: <span class="price"></span>
</div>
请注意,模板中没有特殊字符,PURE用纯粹的HTML完成一切。
autoRender()方法依赖于JSON的属性名映射到class名的协议,如果你不想依赖于该协议,你可以用render()方法来代替。
function showProduct() {
var product = { name: "Laptop", price: 788.67 };
var directives = { 'span#name' : 'name', 'span#price': 'price'};
$('div.product').render(product, directives);
}
请注意,一系列指令和要显示的项目传递给render()。这些选择器将选择器映射到JSON属性名,第一个指令将Id为name的span元素映射到name属性,第二个指令将Id为price的span元素映射到price属性。下面是HTML:
<div class="product">
Product Name: <span id="name"></span>
<br />
Product Price: <span id="price"></span>
</div>
PURE也可以用来渲染一个JavaScript对象数组。例如,下面的代码渲染一个product数组。
function showProducts() {
var data = { "products": [
{ name: "Laptop", price: 788.67 },
{ name: "Comb", price: 2.50 },
{ name: "Pencil", price: 1.99 }
]};
$('#productTemplate').autoRender(data);
}
由于数组名为product,PURE将每一个product映射到class为product的元素上,以下模板显示所有的三个product。
<div id="productTemplate">
<div class="products">
Product Name: <span class="name"></span>
<br />
Product Price: <span class="price"></span>
</div>
</div>
猜你喜欢
- 网上有这样一道题目:一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次
- 保持良好的代码风格是每个Coder必学的课程,同样在HTML设计的时候也要特别注意代码的规范性,虽然说不规范的代码不会直接造成严重的后果,但
- 我们用下了asp代码简单统计了下载一个文件需要的时间:<%Function DownloadTime(intFileSize
- 代码如下:Function getCurrentUrl() On Error Resume Next Dim strTemp If LCas
- asp函数实现把数字格式化为每3个数字时以逗号间隔的数字见下:<%Function Comma(str)If No
- 前言:1、上几次讨论右键禁止等问题的时候,有网友问那里有键值表KeyCode,我今天写了一个javascript,以飨各位有需要者。2、适用
- 1、信息表新建立一个字段,并用0、1的方法判断信息的状态。 2、新建一个页面,定时刷新,并查询表中是否有字段值为0的记录。 3、当管理员点击
- xhtml+css页面制作过程中问题的解决方案,说是解决方案应该有点过了,充其量只不过是给刚刚开始学标准页面制作的朋友们的一些小建议,如果讲
- 如何在网站上提供音乐下载?为用户提供歌曲下载,一般有两种方式,一是直接通过Http,浏览器下载,二是通过ftp协议下载。我们来用Http和浏
- 使用字符串建立查询能加快服务器的解析速度吗?我记的在那儿看过,好像是说使用字符串建立SQL查询是有它的道理的,像这样:<%mySQL=
- asp获取application对象代码如下: <%application("new&qu
- 我其实是同一天看到Robert Treat几人整理的”Mysql 迁移到Oracle前需要了解的50件事“与Baron Schwartz的”
- 这本来是翻译Estelle Weyl的《15 JavaScript Gotchas》,里面介绍的都是在JavaScript编程实践中平时容易
- 内容摘要:统计在线人数的方法很多,可以使用Application来统计在线人数,也可以使用IP来统计在线人数。各有优点。本文介绍了通过判断S
- 在SQL Server 2008里安装审计,步骤如下:1. 给每个SQL Server 2008具体实例创建一个SQL Server审计2.
- 我们一般在调试程序的时候,有些操作会莫名地失败,又没有错误消息提示,特别是在执行数据库操作的时候,明明执行过去了,可就是数据库里没有记录变动
- (1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程
- 代码如下:--CAST 和 CONVERT 函数 Percentage DECLARE @dec decimal(5,3), @var va
- 解决Microsoft VBScript 运行时错误 (0x800A0046) 没有权限的解决方案,0x800a0046错误。前段时间在做站
- 微软在今天早上发布新的安全通告证实,一处远程执行代码漏洞影响到了整个SQL Server产品线。该漏洞的入侵代码在两周前已经被公布在互联网上