for循环

循环一般数组
<script id="forNumTemp" type="text/template">{{for}}<p>{{:#data}}--索引{{:#getIndex()}}</p>{{/for}}
</script>
<script>var nums=[2,5,8,9,6,3,7,4,1];var numTemp=$("#forNumTemp").render(nums);
</script>

需要注意的是for循环中,{{for}} 标签需要闭合 {{/for}} 明确作用域,我们可以通过 {{:#index}} 或者 {{:#getIndex()}} 方法获取每次循环对应的索引,但是有时候我们在某些情况下是不能使用 {{:#index}} 获取索引的,所以我们一般都只是用
{{:#getInex()}} 方法获取索引,由于 **render()**方法可以自自动遍历数组,所以这个例子里面我们也可以不用使用 {{for}} 标签进行循环数据,可以使用 {{:#data}} 直接获取循环的每一项。

循环对象数组
<script id="forObjTemp" type="text/template">{{for}}<p>{{:name}}--{{:#data.old}}--索引{{:#getIndex()}}</p>{{props #data}}<p>{{:key}}--{{:prop}}</p>{{/props}}{{/for}}
</script>var users=[{name:'Tim',old:18},{name:'Tom',old:19}];var objTemp=$("#forObjTemp").render(users);$("div").html(objTemp);
<script>
</script>

循环对象的时候我们使用 {{:#data}} 的到的数据是每次循环的一个对象,然后可以通过 {{:#data.old}} 这种点运算符来获取对象的每一个属性。但是我们一般不这样使用,我们可以直接使用该对象的属性 {{:name}} 来获取对象对应的的属性的值 。如果我们要获取对象的属性的名称时,我们可以使用 {{prop}} 标签 来获取对象的属性名称 ,需要注意的是 {{prop}} 也是需要闭合标签的 {{/prop}},然后在 {{prop}} 中,使用 {{:key}} 来获取对应属性的名称,使用 {{:prop}} 来获取属性的对应的值。

使用循环外部的变量
   <script id="useArgTemp" type="text/template"><p>{{:arg1}}</p><p>{{:arg2}}</p>{{for nums ~arg1=arg1 ~arg2=arg2}}<p>数组中的数字{{:#data}}--{{:~arg1}}--{{:~arg2}}--{{:#index}}</p>{{/for}}</script><script>var obj={arg1:"arg1",arg2:"arg2",nums:[5,8,9]};var temp=$("#useArgTemp").render(obj);$("div").html(temp);</script>

如果在循环中我们需要使用外部的变量,则需要在循环时,使用 :~TempVariable=Variable 来定义并赋值for循环中要使用的变量,TempVariable是循环中要使用的变量的名称,Variable是循环外部的变量名称,在循环内部,我们使用 {{:~TempVariable}} 来使用外部变量的值。

双重循环
1.两个毫无关系的数组
  <script id="douFor" type="text/template">{{for arr1 ~tarr=arr2}}<p>{{:#data}}----{{:~tarr}}</p>{{for ~tarr}}<p>{{:#data}}---{{:#parent.parent.data}}</p>{{/for}}{{/for}}</script><script>var arrs={arr1:[1,2,3,4,5],arr2:[99,88,77,66,55]};var douTemp=$("#douFor").render(arrs);</script>

因为这两个数组是平级数组,如果我们在循环A数组中的内部,循环B数组,那么只能在循环A数组的时候吧B数组当做参数,将B数组传入到A数组中,然后就可以在A数组的循环内部去循环B数组。如果要在B数组中使用A数组中的循环的值,则我们需要使用 {{:#prent.parent.data}} 来取到上一级循环的数据。

2.对象数组中包含数组
    <script id="userArrsFor" type="text/template">{{for}}<p>{{:name}}</p>{{for arrs}}<p>{{:#data}}</p>{{/for}}{{/for}}</script><script>var userArrs=[{name:"Tim",arrs:[1,2,3,4,5]},{name:"Jim",arrs:[11,22,33,44,55]},];var duserArrsForTemp=$("#userArrsFor").render(userArrs);$("div").html(duserArrsForTemp);</script>

如果我们在循环对象数组的时候,对象中也有数组,那么我们在每次循环对象数组的时候,去循环对象中包含数组的属性即可。

JsRender基础语法循环和判断相关推荐

  1. JavaScript 基础语法循环案例练习

    JavaScript 基础语法循环案例练习 文章目录 JavaScript 基础语法循环案例练习 前言 一.早午晚安喵喵喵 二.判断奇偶数 三.班长请客 四.1-100跳过个位为3的数求和 五.第几个 ...

  2. python语句块规范_Python基础语法——代码规范判断语句循环语句

    Python基础语法 代码的执行顺序从上到下 从左到右 代码规范模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 每 ...

  3. Scala语法(一) 基础语法(变量常量判断循环数组集合)

    前言 在前面的章节中, 我们介绍了如何在Eclipse内安装Scala环境. 本章开始, 我们将讲解下Scala的基本语法. PS: 1. 个人虽然没有想转Scala语言开发的思想, 但是近来Scal ...

  4. python判断语法_Python基础语法——代码规范判断语句循环语句

    Python基础语法 代码的执行顺序 从上到下 从左到右 代码规范 模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 ...

  5. 小学生都能学会的Python基础语法——代码规范判断语句循环语句

    前言: Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异,在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 一.代码的执行 ...

  6. <From Zero to Hero>零基础学习Python基础语法【条件判断与条件嵌套】

    目录 条件判断 单向判断:if 双向判断:if-else- 多向判断:if-elif-else- if嵌套 if嵌套的执行顺序 如何写嵌套代码 小练习1 小练习2 对于Python来讲,需要正确的[沟 ...

  7. python基础语法whike循环_python基础语法 - 循环

    while循环 1.基本语法 while 条件: -- if 条件: continue # 条件满足跳过当次循环 if 条件 break # 条件满足中止循环 else: # 只有当while循环结束 ...

  8. GO语言-基础语法:条件判断

    1. IF判断(aa.txt内容:asdfgh.bb.txt内容:12345) package mainimport ("io/ioutil""fmt" )fu ...

  9. php基础语法——循环语句

    八.循环语句 1.while 循环 while (条件为真) {要执行的代码; } 2.do...while 循环 do {要执行的代码; } while (条件为真); 3.for 循环 for ( ...

最新文章

  1. 计算机网络基础 — 网络设备 — 以太交换机(Switch)
  2. Flask 教程 第十八章:Heroku上的部署
  3. 一个完整的Windows程序框架
  4. SQL 语句时间比较
  5. [GCC for C]编译选项---IDE掩盖下的天空
  6. vue锚链接可以从指定位置显示么_onenote链接系列⑥:链接笔记如何产生?与插入链接的区别...
  7. 相位测试音频mp3_苹果AirPods MAX耳机音质一大短板在哪里?蓝牙AAC编码品质讨论与测试 「Soomal」...
  8. game module 停止运行_恒温摇床长时间运行的注意事项
  9. Facebook开源移动端深度学习加速框架,比TensorFlow Lite快一倍
  10. 设计模式-命令模式(Command)
  11. docker容器无root 权限,如何获得docker容器里面的root权限
  12. HCIA-USG Security Policy
  13. Docker 与 K8S学习笔记(二十)—— 使用Downward API向容器注入Pod信息
  14. Recovering High Dynamic Range Radiance Maps from Photographs
  15. Android APP程序更新报解析软件包时出现错误问题解决方法
  16. 全球及中国游戏耳机市场运营模式分析及需求前景预测报告2022年版
  17. Windows server 2012 主域+辅域
  18. 解决JDBC中Parameter number X is not an OUT parameter
  19. 平台业务收款分账产品设计 - 支付计费分账
  20. 解决Chaquopy在AS中pip安装过慢的问题

热门文章

  1. pyCharm最新2017激活码
  2. 云备份和恢复的优缺点
  3. 有哪些IT巨头,在打造Ceph这朵开源存储金花?
  4. Android Wear手表蓝牙连接Android Studio调试/开发的第一次准备工作
  5. v70.05 鸿蒙内核源码分析(管道文件) | 如何降低数据流动成本 | 百篇博客分析OpenHarmony源码
  6. Java实习生来深圳两周啦
  7. java毕业生设计众筹平台网站计算机源码+系统+mysql+调试部署+lw
  8. 微软Technet安全技术中心,最新安全公告漏洞更新补丁发布。
  9. 如何找回IOS访问限制密码
  10. Linux 重命名文件