<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/jquery-ui.js"></script>
<script type="text/javascript" src="scripts/jsrender.js"></script>
<link href="scripts/demos.css" rel="stylesheet" />
<link href="scripts/movielist.css" rel="stylesheet" />
<style>
pre { font-size:10pt; font-weight:bold; }
</style>
</head>
<body>
<a href="../demos.html">JsRender Demos</a><br /> <h3>Example Scenario: Accessing parent data.</h3> <!---------------------- First Example ----------------------> <div class="subhead">Stepping up through the views (tree of nested rendered templates)</div> <table>
<thead><tr><th>Title</th><th>Languages (+specialMessage)</th></tr></thead>
<tbody id="movieList1"></tbody>
</table> <!---------------------- Second Example ----------------------> <div class="subhead">Setting contextual template parameters, accessible in all nested contexts as <em>~nameOfParameter</em>:</div> <table>
<thead><tr><th>Title</th><th>Languages (+specialMessage)</th></tr></thead>
<tbody id="movieList2"></tbody>
</table> <!---------------------- Third Example ----------------------> <div class="subhead">Using the top-level data, accessible in all nested contexts as <em>~root</em>:</div> <table>
<thead><tr><th>Title</th><th>Languages (+specialMessage)</th></tr></thead>
<tbody id="movieList3"></tbody>
</table> <!--=================== Demo ===================--> <!------------------ Templates ------------------> <script id="movieTemplate1" type="text/x-jsrender">
{{for movies}}
<tr>
<td>'{{>title}}': showing at the '{{>#parent.parent.data.theater}}'</td>
<td>
{{if languages}}
{{for languages}}
{{>#data}}{{>#parent.parent.parent.parent.parent.data.specialMessage(#data, #parent.parent.data.title)}}<br/>
{{/for}}
{{/if}}
</td>
</tr>
{{/for}}
</script> <script id="movieTemplate2" type="text/x-jsrender">
{{for movies ~theater=theater ~specialMessage=specialMessage}}
<tr>
<td>'{{>title}}': showing at the '{{>~theater}}'</td>
<td>
{{for languages ~title=title}}
{{>#data}}{{>~specialMessage(#data, ~title)}}<br/>
{{/for}}
</td>
</tr>
{{/for}}
</script> <script id="movieTemplate3" type="text/x-jsrender">
{{for movies}}
<tr>
<td>'{{>title}}': showing at the '{{>~root.theater}}'</td>
<td>
{{for languages ~title=title}}
{{>#data}}{{>~root.specialMessage(#data, ~title)}}<br/>
{{/for}}
</td>
</tr>
{{/for}}
</script> <!------------------ Script ------------------> <script type="text/javascript"> var model = {
specialMessage: function (language, title) {
if (language === "French" && title === "City Hunter") { return ": (special offer)"; }
},
theater: "Rialto", movies: [
{
title: "Meet Joe Black",
languages: [
"English",
"French"
]
},
{
title: "City Hunter",
languages: [
"Mandarin",
"French",
"Chinese"
]
}
]
}; $("#movieList1").html(
$("#movieTemplate1").render(model)
); $("#movieList2").html(
$("#movieTemplate2").render(model)
); $("#movieList3").html(
$("#movieTemplate3").render(model)
); </script> </body>
</html>

  

JsRender系列-11的更多相关文章

  1. Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

    概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...

  2. Java 集合系列 11 hashmap 和 hashtable 的区别

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改 ASP.NET MVC+EF框架+EasyUI实现权限管系列  (开篇)   (1):框架搭建    ...

  4. saltstack自动化运维系列11基于etcd的saltstack的自动化扩容

    saltstack自动化运维系列11基于etcd的saltstack的自动化扩容 自动化运维-基于etcd加saltstack的自动化扩容# tar -xf etcd-v2.2.1-linux-amd ...

  5. C#程序集系列11,全局程序集缓存

    全局程序集缓存(GAC:Global Assembly Cache)用来存放可能被多次使用的强名称程序集.当主程序需要加载程序集的时候,优先选择到全局程序集缓存中去找寻需要的程序集. 为什么需要全局程 ...

  6. 【转】Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

    概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...

  7. Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现

    我们在前文中已经介绍了SpringAOP的切面实现和创建动态代理的过程,那么动态代理是如何工作的呢?本文主要介绍Cglib动态代理的案例和SpringAOP实现的原理.@pdai Spring框架系列 ...

  8. .Net程序员学用Oracle系列(11):系统函数(下)

    1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...

  9. 【 D3.js 入门系列 — 11 】 入门总结

    D3 新专题首页 一转眼,这个入门系列已经积累了二十二篇文章之多,我想作为 D3.js 这款数据可视化工具的入门来说已经足够了.相信仅仅要看完本系列.以后全然能够在辅以查询的情况下完毕大部分可视化工作 ...

随机推荐

  1. 精简DropDownList用法

    ViewBag.TypeID = new SelectList(db.TType, "ID", "Name", model.TypeID); @Html.Dro ...

  2. OrCAD Capture CIS与Allegro交互布局

    激活OrCAD与Allegro的交互程序 1. 打开原题图,Options->Preference在Miscellaneous里勾选 2. 同时打开OrCAD原理图设计界面及Allegro PC ...

  3. 搭建eclipse环境下 Nutch+Mysql 二次开发环境

    最近看了下Nutch,目前Nutch最新版本2.3.1,支持Hbase.MongoDB等存储,但在搭建和测试过程中发现对Mysql 的支持好像有点问题. 后来将Nutch版本改为2.2.1.基于Nut ...

  4. 用cookie实现localstorage功能

    在项目中需要利用到html5的localstorage.但在利用这个属性的时候却发现无法达到预定目标.经过不断的检查及排除,最后发现原因所在: 项目中使用的浏览器是支持localstorage的,但是 ...

  5. mysql 的数据类型

    mysql 的数据类型(描述的是字段)三大类:一.整型:1.tinyint(M),其中M是显示宽度,需要配合zerofill,就是前面0填充,存储单位为1个字节(8位),无符文是最大能存储范围0000 ...

  6. System V消息队列

    消息的基本属性 System V的消息属性包含在一个msqid_ds的结构中 struct msqid_ds{ struct ipc_cerm msg_perm; //读取权限, 0644, 0777 ...

  7. apache2: bad user name ${APACHE_RUN_USER} 解决

    开工后,发现有个虚拟机的apache没起来,调用apache2 -k start 后,提示如下内容: apache2: bad user name ${APACHE_RUN_USER} apache ...

  8. Oracle中是用case...when语句进行判断

    使用case...when语句进行判断,其语法格式如下: case<selector> when<expression_1> then pl_sqlsentence_1; wh ...

  9. URL地址下载图片到本地

    package test.dao; import eh.base.dao.DoctorDAO; import eh.entity.base.Doctor; import junit.framework ...

  10. AIR for IOS开发问题小结

    昨天终于成功地向APP STORE提交了应用,个人感觉用AIR做IOS开发就是个坑啊.出了问题之后,问苹果的技术支持,人家说“对于非XCODE环境下开发及发布所造成的问题我们在资料库中无法找到相应的解 ...