循环数据要求是数组结构,字符串数组、数字数组或者对象数组都可以。
静态循环数据 「循环数据」定义一个静态数组,在循环体里,可以通过 this.item 获取循环值,this.index 获取循环下标。当然,item / index 也可以通过编辑「循环参数」来自定义,比如 content / idx。
循环远程数据源, 创建一个远程数据源,将数据源绑定到循环变量上,需要定义远程数据源和将组件的循环数据绑定到该数据源上。
还可以实现内外两层嵌套循环,以此类推,其实 N 层(N < Infinity)也是支持的。 通常对于两个组件搭配到一起应用嵌套循环时,会在外层包裹一层容器组件,在容器组件上设置外层循环数据,在内部的组件(此例为文本组件)设置内层循环数据。
外层循环值用的是 this.item,而内层用的是 this.content,这是故意这样设置(通过编辑内层的「循环参数」),为了在内层也能拿到外层的值,否则两个都是 this.item,内层会将外层屏蔽。
在整个搭建页面中,this 其实是有层级的,当前作用域是 this,父级作用域是 this.$super,顶级作用域是 this.$top。
比如对表单容器做循环渲染,表单标识为 'fooForm',在 循环体 里使用 this.$('fooForm').getValue() 可以拿到当次循环表单的值,若要获取所有循环表单的值,需要通过 this.$super.$('fooForm').map(item => item.getValue())。
以上仅供参考。