$each指令的作用
$each指令用于循环渲染具有相同视图模板的数组,对象,或者其他可迭代变量。
$each指令的触发顺序
$each指令将先于其宿主元素上所有的生命周期方法和其他控制指令执行。
$each指令表达式的执行结果
当$each指令的计算结果是一个可迭代数据结构时,框架会以其宿主元素(包含其子级元素)作为模板循环渲染出多个元素实例,并基于循环体内容为每个元素实例创建一个新的切片作用域变量。这个切片作用域变量下定义了如下几个字段:
“item”,任意类型,指向循环体子项数据内容。
“index”,整数类型,指向子项数据在循环体中的索引。
“key”,字符串类型,指向子项数据在父级数据中的字段名。
下面我们来看一个计算结果为数组的$each指令示例:
$each指令的预定义修饰符
$each指令支持如下预定义修饰符:
1. “root”,布尔类型。root为true代表当前指令创建的切片作用域直接继承自根作用域而非其父级作用域。
2. 上文中提到的切片作用域下的“item”、“index”和“key”三个字段都可以使用同名修饰符重新命名以避免命名冲突。我们看下面的例子:
$each嵌套使用示例
不同宿主元素上声明的$each指令可以嵌套使用,下面是一个例子: