BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

jQuery模板系统简介

| 作者 Jonathan Allen 关注 594 他的粉丝 ,译者 李明(nasi) 关注 0 他的粉丝 发布于 2010年10月15日. 估计阅读时间: 1 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

jQuery模板API可以通过数据对象动态创建HTML元素。该程序库由微软创建,jQuery已经将其接纳为官方插件。和ASP或VB的XML字面量等服务器端模板语言类似的是,你只需给出要显示的数据绑定的表达式即可。

使用${fieldName}语法就可以完成简单的数据绑定,例如:

  

<script id="bookTemplate" type="text/x-jquery-tmpl">
    <li><b>${Name}</b> (${Year})</li>
</script>

想要使用模板的话,只需定义目标位置,并使用“tmpl”方法来执行模板即可。

  

<ul id="bookList"></ul>
$( "#bookTemplate" ).tmpl( books ).appendTo( "#bookList" );

通过上面的语法,模板就会编译成为JavaScript函数。另外,通过jQuery.template函数也可以将字符串创建成编译后的模板。利用这种方式创建的模板是可命名的,它们会存储在$.templates列表中,或者仅是作为对象返回。

对于只用一次的模板来说,编译它们的开销通常是不值当的。在这种情况下,可以把模板定义的字符串直接传给模板的执行函数jQuery.tmpl。

jQuery模板API依赖于jQuery 1.4.2,基于MIT和GPL V2授权。

查看英文原文:Introducing Templates for jQuery

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

多余 by 典 刘

标记语言本身就可以表达${}语法所提供的功能了。

模板在其他方面有标记语言不可替代的功能的 by Vickey Rockey

.

坏人 by 李 升华

与JSP中的EL冲突

同上 by gladstotne chen

太多余了。显然视我EL为无物

Re: 同上 by CF3B5 CF3B5

一个服务器端,一个客户端,完全就不是一个层面的东西把?

好东西 by Jin yc

使用客户端的模板系统还是很有价值的,而不是多余的,说多余的人,可以试着想想:采用Ajax的管理员系统是如何将数据和视图”混“在一起,分页、数据更新(视图更新)等等。不过这个可加重了前端开发人员的任务啊~~T-T
我曾经的一个项目就写过一个类似的(bbs.yuyadong.com/read.php?tid=3612),现在看到jQuery也...

这个似乎很慢 by Lee Ronnin

另外一个js 模板库,比这个快很多
www.bennadel.com/projects/jquery-template-marku...

没有Ext的模板那么好用 by zhang xiaofei

如果我页面想使用EL表达式,这显然会冲突。
另外,这种模板机制没有Ext的模板那么好用。
鉴定完毕。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

8 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT