Jquery tmpl的使用

Jquery tmpl的使用jquerytmpl简介:动态请求数据更新页面非常常用的方法,例如博客评论的分页动态加载,微博的滚动加载和定时请求加载以及ajax请求返回数据等。这些情况下,动态请求返回的数据一般不是已拼好的html就是JSON或XML,总之不在浏览器端拼接数据就在服务器端拼接数据。浏览器端根据JSON生成HTML有个很苦恼的地方就是,结构不复杂的时候还好,结构一复杂,就需要很小心的写出几乎无法维护的javas…

大家好,又见面了,我是你们的朋友全栈君。

jquery tmpl简介:动态请求数据更新页面非常常用的方法,例如博客评论的分页动态加载,微博的滚动加载和定时请求加载以及ajax请求返回数据等。

这些情况下,动态请求返回的数据一般不是已拼好的html就是JSON或XML,总之不在浏览器端拼接数据就在服务器端拼接数据。

浏览器端根据JSON生成HTML有个很苦恼的地方就是,结构不复杂的时候还好,结构一复杂,就需要很小心的写出几乎无法维护的javascript代码。

因此,一些用模板生成HTML的框架相继出现jquery.tmpl就是其中一种,下面讲一下jquery.tmpl的使用语法,可分为三大类:

1、显示类
{
{html}}/{
{= }}/${},这三个标签多能够将数据输出到模板中,但是{
{html}}不会对数据进行编码,用于输出数据中的HTML代码段,
而{
{=}}和${}怎会对数据进行编码,防止数据对于模板结构的破坏。
2、条件判断及循环
{
{if}}/{
{else}}/{
{/if}}/{
{each}}请注意是没有for/while/switch的,相对来说jquery Tmpl只支持
较为简单的逻辑判断,当然如果你感觉这些满足不了你的需求的话,可以自己写函数然后调用。
3、复用类
{
{tmpl}}当分支模板过长(写在一个模板中较为轮乱)或者使用已经写好的通用模板,{
{temp}}的作用就是
调用指定ID模板来显示数据。

下面具体写个例子表现一下:

例1:通过直接写json字符串的形式引入数据。

[html] 
view plain  
copy

  1. <div style=“margin-top: 30px;”>  
  2.             <h3>地区</h3>  
  3.             <div id=“place”></div>  
  4.         </div>  
  5.         <script src=“js/jquery-1.11.1.min.js”></script>  
  6.         <script src=“js/jquery.tmpl.js”></script>  
  7.         <script type=“text/tmpl” id=“temp”>  
  8.             <span style=“margin: 0 6px;”>${place}</span>  
  9.         </script>  
  10.         <script>  
  11.             var origin={  
  12.                 plc:[  
  13.                     {place:’上海’},  
  14.                     {place:’深圳’},  
  15.                     {place:’北京’},  
  16.                     {place:’广州’}  
  17.                 ]  
  18.             };  
  19.             $(‘#temp’).tmpl(origin.plc).appendTo(‘#place’);  
  20.         </script>  



例2:通过getJSON引入json数据。

[html] 
view plain  
copy

  1. <div style=“margin-top: 30px;”>  
  2.             <h3>地区</h3>  
  3.             <div id=“place”></div>  
  4.         </div>  
  5.         <script src=“js/jquery-1.11.1.min.js”></script>  
  6.         <script src=“js/jquery.tmpl.js”></script>  
  7.         <script type=“text/tmpl” id=“temp”>  
  8.             <span style=“margin: 0 6px;”>${place}</span>  
  9.         </script>  
  10.         <script>  
  11.             $.getJSON(‘json/place.json’,function(data){  
  12.                 //通过拼接字符串的形式书写  
  13.                 /*var str=“”;  
  14.                 for(var i=0;i<data.plc.length;i++){  
  15.                     str+=’<span style=“margin: 0 6px;”>‘+data.plc[i].place+’</span>‘;  
  16.                     console.log(“str:”+str);  
  17.                 }  
  18.                 $(‘#place’).append(str);  
  19.                 */  
  20.                 //tmpl形式  
  21.                 $(‘#temp’).tmpl(data.plc).appendTo(‘#place’);  
  22.             });  
  23.         </script>  

place.json数据内容为:

{

“plc”:[
{“place”:”上海”},
{“place”:”深圳”},
{“place”:”北京”},
{“place”:”广州”}
]
}
例3:读取多个参数信息。

[html] 
view plain  
copy

  1. <div class=“container”>  
  2.             <table border=“1px” cellpadding=“5” cellspacing=“0” width=“100%”>  
  3.                 <thead>  
  4.                     <tr>  
  5.                         <td>firstName</td>  
  6.                         <td>lastName</td>  
  7.                         <td>email</td>  
  8.                         <td>place</td>  
  9.                     </tr>  
  10.                 </thead>  
  11.                 <tbody id=“tbody”></tbody>  
  12.             </table>  
  13.             <table border=“1px” cellpadding=“5” cellspacing=“0” width=“100%” style=“margin-top: 30px;”>  
  14.                 <thead>  
  15.                     <tr>  
  16.                         <td>Name</td>  
  17.                         <td>Level</td>  
  18.                         <td>img</td>  
  19.                     </tr>  
  20.                 </thead>  
  21.                 <tbody id=“tbody2”></tbody>  
  22.             </table>  
  23.         </div>  
  24.         <script src=“js/jquery-1.11.1.min.js”></script>  
  25.         <script src=“js/jquery.tmpl.js”></script>  
  26.         <script type=“text/tmpl”  id=“temp”>  
  27.             <tr>  
  28.                 <td>${firstName}</td>  
  29.                 <td>{
    {= lastName}}
    </td>  
  30.                 <td>{
    {html email}}
    </td>  
  31.                 <td>{
    {html place}}
    </td>  
  32.             </tr>  
  33.         </script>  
  34.         <script type=“text/tmpl” id=“temp2”>  
  35.             <tr>  
  36.                 <td>${name}</td>  
  37.                 <td>${level}</td>  
  38.                 <td><img src=“${img}”/></td>  
  39.             </tr>  
  40.         </script>  
  41.         <script>  
  42.             $.getJSON(“json/test.json”,{},function(data){  
  43.                 $(‘#temp’).tmpl(data.programmers).appendTo(‘#tbody’);  
  44.                 $(‘#temp2’).tmpl(data.authors).appendTo(‘#tbody2’);  
  45.             });  
  46.         </script>  

test.json数据内容为:

{

“programmers”:[
{“firstName”:”Lucy”,”lastName”:”zhao”,”email”:”123456″,”place”:”上海”},
{“firstName”:”Tizzy T”,”lastName”:”wang”,”email”:”123″,”place”:”北京”}
],
“authors”:[
{“name”:”Any”,”level”:”one”,”img”:”./img/foot_21.png”},
{“name”:”cool”,”level”:”two”,”img”:”img/foot_31.png”},
{“name”:”Luck”,”level”:”three”,”img”:”img/foot_41.png”}
],
“origin”:[
{“place”:”上海”},
{“place”:”深圳”},
{“place”:”北京”},
{“place”:”广州”}
]
}

注意:页面中引入有jquery和jquery.tmpl文件,必要时修改一下路径。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149081.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 文本分类算法比较与总结

    文本分类算法比较与总结本文对常用的几种文本分类算法进行了比较与总结 主要阐述它们之间的优劣 为算法的选择提供依据 nbsp 一 Rocchio 算法 nbsp Rocchio 算法应该算是人们思考文本分类问题最先能想到的 也是最符合直觉的解决方法 基本的思路是把一个类别里的样本文档各项取个平均值 例如把所有 体育 类文档中词汇 篮球 出现的次数取个平均值 再把 裁判 取个平均值 依次做下去 就可以得到一个新的向量 形象的称之为 质心 质

    2025年7月17日
    5
  • 排序-冒泡排序

    排序-冒泡排序排序算法之【冒泡排序】在写代码之前我们需要对冒泡排序有一个逻辑上的理解:即什么是冒泡排序呢?冒泡排序是排序算法的其中一种,该排序的逻辑理解起来较为容易,理解上可以有两种方式,一种中正向的思维,一种是逆向的思维,什么意思呢?所谓的正向思维就是从前往后,从左往右,从上到下。那么逆向思维呢就正好与之相反。下面来说一正向思维下的冒泡排序:…

    2022年6月17日
    29
  • 大数据:数据采集平台之Apache Chukwa「建议收藏」

    大数据:数据采集平台之Apache Chukwa「建议收藏」大数据:数据采集平台之ApacheChukwa官网:https://chukwa.apache.org/ApacheChukwa是Apache旗下除ApacheFlume外,又一个开源的数据收集平台。Chukwa基于Hadoop的HDFS和MapReduce来构建(显而易见,它用Java来实现),提供扩展性和可靠性。Chukwa同时提供对数据的展示,分析和监视。该项目已经不活跃了,它…

    2022年5月29日
    31
  • java中executeQuery()方法

    java中executeQuery()方法介绍使用 JDBC 连接数据库需要 4 步 executeQuery 方法是第四步执行查询 要用 statement 类的 executeQuery 方法来下达 select 指令以查询数据库 executeQuery 方法会把数据库响应的查询结果存放在 ResultSet 类对象中供我们使用 举例如下 Stringstr9 selectsnofro

    2025年7月11日
    4
  • k8s实战系列: 1-再谈为什么需要Kubernetes[通俗易懂]

    k8s实战系列: 1-再谈为什么需要Kubernetes[通俗易懂]k8s系列:再谈为什么需要Kubernetes容器解决了什么?又遇到了什么问题容器,到底是怎么一回事儿?在Docker出现之前,最为流行的是PaaS项目。PaaS项目被大家接纳的一个主要原因,就是它提供了一种名叫“应用托管”的能力。像CloudFoundry这样的PaaS项目,最核心的组件就是一套应用的打包和分发机制。更好地模拟本地服务器环境,能带来更好的“上云”体验。CloudFoundry会调用操作系统的Cgroups和Namespace机制为每一个应用单独创建一

    2022年5月21日
    39
  • mysql商品表设计_商品数据库表设计

    mysql商品表设计_商品数据库表设计1.建库2.建表新建一个查询,粘贴下列代码,选中执行商品分类表:(主键没有自增)商品表:(主键没有自增)模型图:3.交叉查询

    2022年8月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号