之前很是头疼循环数据的渲染,搞一大堆的命名,一点点的赋值,很是麻烦,今天学习了一下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. WCF中DataContractAttribute 类

    一.这个类的作用 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档.无法继承此类,(DataContractSerializer 用于序列化和反序列化在 Windows Commun ...

  2. 第一个Sprint冲刺第九天

    讨论成员:邵家文.李新.朱浩龙.陈俊金 工作:修改公式,修改bug

  3. 转: ASP.NET+ExtJs4.0+表单提交submit,上传图片到服务器

    http://blog.csdn.net/lmaohuanl/article/details/6792057 <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...

  4. centos 输入密码正确进不去系统

    国庆长假之后,上班,第一件事就是连接开发服务器进行开发,结果发现死活进不去系统.一开始以为是用户名和密码错误,后来发现怎么输入都是进不去系统,密码输入是肯定正确的. google了一下,发现有人说是密 ...

  5. Day02_JAVA语言基础第二天

    1.常量(理解) 1.概念         在程序运行过程中,其值不会发生改变的量 2.分类(掌握) A .字面值常量 整数常量:1,2,-3 小数常量:2.3,-232.3 字符常量:'A' 字符串 ...

  6. dedecms调用子栏目内容,缩略图,以及栏目名字

    织梦后台栏目页默认是没有添加缩略图的选项的,所以首先我们要调整后台提交表单使界面出现上传图片的地方,如下图所示:   织梦后台默认是没有栏目缩略图选项的,所以首先你需要从网上下载对应需要修改的文件,从 ...

  7. ZOJ 1078 Palindrom Numbers

    原题链接 题目大意:判断一个数是不是palindrom.不限于十进制,可以在任何进制下判断. 解法:还好,数字的范围不大,int类型足够搞定.方法就是从2进制开始,先把数字转换成2进制,判断是否对称, ...

  8. boot/bootsect.S

    !! SYS_SIZE is the number of clicks (16 bytes) to be loaded.! 0x7F00 is 0x7F000 bytes = 508kB, more ...

  9. python--列表生成式--8

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 一.生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我 ...

  10. php归获取当前目录下的二级目录数 和文件数

    <?php        header('Content-Type: text/html; charset=gb2312');        // $baseDir = "/www/u ...