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>
运行效果:
数组为空