之前很是头疼循环数据的渲染,搞一大堆的命名,一点点的赋值,很是麻烦,今天学习了一下jQuery插件tmpl,下面抛出一些使用方法,供以后参考:

官方网址:http://web.archive.org/web/20121014080309/http://api.jquery.com/jquery.tmpl/

github网址:https://github.com/jquery/jquery-tmpl        http://jquery.github.com/jquery-tmpl/demos/step-by-step.html

下面重点介绍一下使用方法:

首先介绍一下  模板和数据,不用说这两个肯定是不可缺少的

模板有两种定义方法,下面给出具体code

1.

  1. var markup = "<li>Some content: ${item}.<br/>"
  2. + " More content: ${myValue}.</li>";
  3. $.template( "movieTemplate", markup );

2.

  1. <script id="movieTemplate" type="text/x-jquery-tmpl">
  2. <li><b>${Name}</b> (${ReleaseYear})</li>
  3. </script>

这样就定义了两种模板,前一种写到script里边,后边一种写到html里边

数据用json

下面开始渲染模板
$( "#movieTemplate" ).tmpl( movies ).appendTo( "#movieList" );
$.tmpl( "movieTemplate", movies ).appendTo( "#movieList" );
注意:movies是json数据数组

  1. var movies = [
  2. { Name: "The Red Violin", ReleaseYear: "1998" },
  3. { Name: "Eyes Wide Shut", ReleaseYear: "1999" },
  4. { Name: "The Inheritance", ReleaseYear: "1976" }
  5. ];

下面给出一些更深层次的操作数据的方法
1.判断:

  1. <script id="movieTemplate" type="text/x-jquery-tmpl">
  2. <tr>
  3. <td>${Title}</td>
  4. <td>
  5. {{if Languages}}
  6. Alternative languages: <em>${Languages}</em>.
  7. {{else Subtitles}}
  8. Original language only...
  9. Subtitles in <em>${Subtitles}</em>.
  10. {{else}}
  11. Original version only, without subtitles.
  12. {{/if}}
  13. </td>
  14. </tr>
  15. </script>

2.遍历(tmpl会遍历普通数据,但是有时候数据是模板数据对象里边还嵌套这数组等等)

  1. var movies = [
  2. {
  3. Title: "Meet Joe Black",
  4. Languages: [
  5. { Name: "English" },
  6. { Name: "French" }
  7. ]
  8. }
  9. ];
  1. <script id="movieTemplate" type="text/x-jquery-tmpl">
  2. <tr>
  3. <td>${Title}</td>
  4. <td>Languages:
  5. <em>
  6. {{each Languages}}
  7. ${$value.Name}
  8. {{/each}}
  9. </em>
  10. </td>
  11. </tr>
  12. </script>

注意:判断语句里边不要加空格最好不要有空格

3.在应用中有时候想给模板里边填充一部分html代码

  1. <script id="movieTemplate" type="text/x-jquery-tmpl">
  2. <tr>
  3. <td>${Title}</td>
  4. <td class="synopsis">{{html Synopsis}}</td>
  5. </tr>
  6. </script>

4.应用中有时候也需要对数据进行一下处理

    1. var markup = "<li>Some content: ${$item.myMethod()}.<br/>"
    2. + " More content: ${$item.myValue}.</li>";
    3. $.template( "movieTemplate", markup );
    4. $.tmpl( "movieTemplate", movies,
    5. {
    6. myValue: "somevalue",
    7. myMethod: function() {
    8. return "something";
    9. }
    10. }
    11. ).appendTo( "#movieList" );

jQuery tmpl用法总结的更多相关文章

  1. jQuery .tmpl() 用法

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

  2. jquery.tmpl 用法(附上详细案例)

    js的模板引擎就和服务端的差不多,都是更好更快的拼接html用于显示,我参考了文章:http://www.cnblogs.com/zhuzhiyuan/p/3510175.html tmpl常用标签 ...

  3. jquery.tmpl.js 模板引擎用法

    1.0 引入: <script src="/js/jquery.tmpl.min.js"></script> 2.0 模板: <script type ...

  4. JQuery.tmpl()的用法

    动态请求数据来更新页面是现在非常常用的方法,现在通过Ajax请求返回的数据更多的是json对象, 为了解决js动态拼接数据这方面的问题,JavaScript 也可以利用模版来解决这些问题,比如基于 j ...

  5. jquery tmpl 详解

    官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意 ...

  6. jquery.tmpl.min.js--前端实现模版--数据绑定--详解

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

  7. [转载]jquery tmpl使用方法

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

  8. jQuery .tmpl(), .template()学习资料小结

    昨晚无意中发现一个有趣的jQuery插件.tmpl(),其文档在这里.官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options ...

  9. jquery tmpl 详解(转)

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

随机推荐

  1. Codechef2015 May - Chef and Strings (后缀自动机)

    用后缀自动机统计出出现1~n次的串的数量f[i] 对于ans[k]=sigma(f[i]*C(i,k)) i>=k ; mo=; ..maxn] of dword; nt:..maxn,'a'. ...

  2. Unity3D ShaderLab 静态贴图光照模型

    Unity3D ShaderLab 静态贴图光照模型 其实在unity的光照模型中,我们可以把光照讯息烘培进入一个2D贴图,来实现着色器的光照效果. 下面是在unity中关闭灯光和打开灯光的对比效果. ...

  3. JQuery事件手册

    blur.focus     blur失去焦点:focus获得焦点 load 当指定的元素(及子元素)已加载时,会发生 load() 事件 resize 当调整浏览器窗口的大小时,发生 resize ...

  4. navicat MySQL 只有1000条记录

    /*************************************************************************** * navicat MySQL 只有1000条 ...

  5. Web 数据可视化

    /***************************************************************************************** * Web 数据可 ...

  6. 程序退出异常_DebugHeapDelete和std::numpunct

    前几天程序新加一个功能之后,其中用到了boost的lexical_cast<float>,发现在关闭命令行窗口的时候,程序报错,是程序退出清理时候报的错误. 一开始以为是程序新增的功能有问 ...

  7. Oracle 触发器,事物

    触发器:自动执行,可以实现表的约束. 1.行级触发器: CREATE OR REPLACE TRIGGER del_deptid AFTER DELETE ON deptment --触发器条件 DE ...

  8. 《深入浅出Node.js》第3章 异步I/O

    @by Ruth92(转载请注明出处) 第3章 异步I/O Node 的基调:异步 I/O.事件驱动.单线程. Node 不再是一个服务器,而是一个可以基于它构建各种高速.可伸缩网络应用的平台. No ...

  9. python解析smart结构数据

    python编程解析如下smart结构数据,得到一行smart信息 run: smartctl -a /dev/sda out: smartctl 6.3 2014-07-26 r3976 [x86_ ...

  10. EASYRECOVERY_3.3.29包含注册机、都教授数据恢复含注册码

    用EASYRECOVERY恢复过U盘,和回收站永久清空的东西.效果很好.但疑惑doc,docx,后者恢复效果特别好 都教授没用过,别人买的,没用,很贵. 每次用,都找不着,还要重新淘宝买.这次分享给大 ...