广州市天河区天河路621号天娱广场西塔10楼
EAIC前端mvvm框架
用each遍历
可以用each来遍历一个列表。数组和对象都可以认为是列表。
对于数组来说,则是遍历数组的每个元素,对于对象来说,则是遍历它的每个属性。
<script> $.vm({ data:{ myArr:[{ id:1, name:"Jack" },{ id:2, name:"Rose" },{ id:3, name:"Michell" }], myObj:{ name:"Mike", age:20, addr:"BeiJing" } }, event:{ onLoad:function () { }, } }); </script> <style> //这里是页面样式定义 </style> <page-template> <each cond="myArr" item="item" index="index"> <div>index:${index}</div> <div>id=${item.id},name=${item.name}</div> </each> <each cond="myObj" item="val" index="propName"> <div>${propName}=${val}</div> </each> </page-template>
运行效果:
index:0
id=1,name=Jack
index:1
id=2,name=Rose
index:2
id=3,name=Michell
name=Mike
age=20
addr:BeiJing
反向遍历
只需要将关键字each替换为eachr,即可达到反向遍历的效果。
遍历分支
当遍历或反向遍历的条件不满足时(空数组或没有属性的对象或null),则渲染它的分支节点,我们使用else来定义遍历的分支节点。
以下情况视为不满足
- null 值
- 空数组
- 空对象
- 值不是可遍历的数据类型
<script> $.vm({ data:{ myArr:[], }, event:{ onLoad:function () { }, } }); </script> <style> //这里是页面样式定义 </style> <page-template> <each cond="myArr" item="item" index="index"> <div>index:${index}</div> <div>id=${item.id},name=${item.name}</div> </each> <else> 数组为空 </else> </page-template>
运行效果:
数组为空