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

    Cisco ASA 端口映射设置 1.使用ASDM进入到配置页面,点开NAT Rules,然后新增Network Object,NAT选项如下图所示设定. 下图设定外网IP映射到内网IP地址192.1 ...

  2. 一个比较完整的Inno Setup 安装脚本

    一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...

  3. Entityframework更新数据和插入数据

    public bool UpdateEmloyeeInfo(EmployeInfo employeInfo) { bool flg = false; try { using (UserManageDB ...

  4. shell MAC 地址 校验

    /*************************************************************************************** * shell MAC ...

  5. android获取inflater

    LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: ? LayoutInflater inflater=(La ...

  6. linux下ftp常用命令

    1. Linux 终端连接FTP $ ftp 10.85.3.12 Name : fxm5547 Password: ftp> 如果FTP 允许匿名用户,那么用户名要输入anonymous,密码 ...

  7. PHP实例开发(1)PHP站内搜索

    PHP站内搜索:多关键字.加亮显示 1.SQL语句中的模糊查找 $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' a ...

  8. Websphere发布时遇到的问题

    在发布时遇到了data source配置的问题,搞了好久没搞定,最后问题出现在 JDBC providers那边,Implementation class name 改成: com.ibm.db2.j ...

  9. ctypes 模块

    ctypes赋予了python类似于C语言一样的底层操作能力,通过ctypes模块可以调用动态链接库中的导出函数.构建复杂的c数据类型. ctypes提供了三种不同的动态链接库加载方式:cdll(), ...

  10. 重启Tomcat的脚本

    说明:一台服务器上跑了8个Tomcat case的方式: #!/bin/bash #reboot tomcat!!! #Author:fansik echo -e "\033[1;42;31 ...