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. Win7 64位系统XMind环境配置
  2. linux内核编译 menuconfig详解,Linux内核编译menuconfig介绍
  3. 利用Diferencia和Java微服务进行分接比较测试
  4. C语言高级编程:char、signed char 和 unsigned char的使用区别
  5. VS2019社区版(Community)试用30天过期的有效解决办法
  6. CF848E-Days of Floral Colours【dp,分治NTT】
  7. bootstarp js设置列隐藏_Bootstrap框架----DataTables列表移动端适配定义隐藏列
  8. 无法打开计算机的组策略,win7系统电脑本地组策略打不开无法运行的解决方法...
  9. js scroll事件
  10. 关于python中的setup.py(转)
  11. 2019春季学期进度报告(十一)
  12. Mysql-connector-java驱动包(最新版下载详细教程)
  13. GreenSock动画库在REACT里的使用
  14. 美国人工智能总动员:特朗普后知后觉,华府和硅谷心急如焚
  15. Linux —— 进程间通信
  16. 【Leetcode】232.用栈实现队列
  17. 开篇 | 想成为技术牛人?先搞定网络协议!
  18. @Autowired和@Resource区别
  19. python获取每月的最后一天
  20. python中可哈希是什么意思_实习小记-python中可哈希对象是个啥?what is hashable object in python?...

热门文章

  1. Linux退出vi编辑模式
  2. Kaggle Cassava Leaf Disease Classification
  3. js 循环数组,数组对象中某属性的值一样时,组成新的数组对象
  4. web应用安全防御100技
  5. Google图片新高科技之WebP介绍
  6. Siri 有救了?苹果又买下 AI 公司,三位前 Google 大神来助战...
  7. P2522 [HAOI2011]Problem b (莫比乌斯反演)
  8. java毕业设计旅游众筹平台mybatis+源码+调试部署+系统+数据库+lw
  9. 这年头还不来尝试线稿图视频??
  10. 关于MySQL中复合索引优化