之前很是头疼循环数据的渲染,搞一大堆的命名,一点点的赋值,很是麻烦,今天学习了一下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. 用Qt图形视图框架开发拼图游戏

    用Qt的图形视图框架(Graphics View Framework)做了一个拼图游戏DEMO,演示了: QGraphicsView.QGraphicsScene.QGraphicsItem的基本用法 ...

  2. 1、C#基础整理(进制转换的方法)

    进制 二进制转换为十进制(展权相加法) 110101 =1*2^5+1*2^4+0*2^3+1*2^2+0*2^1+1*2^0 1.  写2 2.  标指数(从右到左) 3.  乘系数(一一对应) 4 ...

  3. Entityframework批量删除

    UI层 <a href="#" onclick="DelData(0);return false;" id="a_del" class ...

  4. JavaScript string.format

    //string.format String.prototype.format=function(){ var e = this, f = arguments.length; if (f > 0 ...

  5. ubuntu中常用快捷键

    本文转自 http://yife.im/ubuntu-terminal-shortcode/ 原文的格式会比较好看. Ubuntu终端常用的快捷键 Oct 3, 2013 • 23,469 views ...

  6. 九 EJB

    一 EJB 1. 定义:EJB 就是一组用 Java 语言编写的包含字段和方法的代码体,而这些代码的核心任务就是实现纯粹的业务逻辑. 2. EJB 和 JavaBean 的相同点: a) 都有 get ...

  7. HttpResponse的Close和End 区别

    转载自:http://blog.sina.com.cn/s/blog_702c390c0100mlhi.html 最近启用了IIS上的压缩功能,但是测试系统上某模块变得不可用了.该模块采用AJAX技术 ...

  8. iOS 协同开发出fatal error: file ‘XX-Prefix.pch’ has been modified since the precompiled header was built

    在协同开发的时候,刚刚从svn下载到本地的代码,出现“fatal error: file 'XX-Prefix.pch' has been modified since the precompiled ...

  9. [转载] C++ typedef 用法详解

    typedef的语法描述 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和 double等基本数据类型.从基本数据类型名称上,不能够看出其所代表的物理属性 ...

  10. HOG 梯度方向直方图简介(转载)

    一.基本HOG算法 HOG特征最早出现在SIFT算法中,由于其极强的图像特征描述能力,逐渐被人们熟知和广泛运用,其在目标检测方面表现尤为突出. HOG特征提取过程 步骤一:遍历图像每个像素点,以其为中 ...