绑定数据编程

绑定数据编程是额外逻辑的一个分支,应用绑定数据编程可以实现复杂的逻辑关系。

1. 界面说明

右键点击元素→逻辑→逻辑→额外逻辑:绑定数据编程→高级编辑:

绑定数据编程可以实现很多效果,其中的逻辑代码设置使用JavaScript语法的逻辑代码,可以用变量:

2. 语法说明

(1)_vm.变量()

a. 取值功能:获取页面中某些变量的值。例:获取页面上a的值:_vm.a();

b. 赋值功能:将某些值赋给某个变量。例:将数值1赋给变量b:_vm.b(1);

(2)_ctx.self[0]

定位到当前元素

(3)_ko.dataFor(元素)

获取该元素当前元素的子数据层。例:获取当前元素子元素a的值:_ko.dataFor(_ctx.self[0]).a();

(4)_ko.contextFor(元素)

获取该元素的环境数据,包括数据层,索引,父元素,父元素环境,其他父元素(父元素的父元素),数组内其他数据的值等。具体如下:

$data:获取当前数组内的数据

$index:获取当前数组内数据的索引

$parent:获取当前数组的父元素

$parentContext:获取当前数组的父元素的环境数据

$parents:获取当前数组的所有父元素,其中包括父元素的父元素,具体深度取决于当前嵌套层

$root:当获取数组内其他数据的时候,例如:数组a包含数组b和变量c,若当前元素定位在数组b内,而要获取c的值,则需要在c前面加$root

3. 示例

以上语法的具体应用:

 数组内元素选取数组内变量值 _ko.dataFor(_ctx.self[0]).变量名()
 数组中获取当前元素的index _ko.contextFor(_ctx.self[0]).$index()
 嵌套数组中获取当前元素上级数组的index _ko.contextFor(_ctx.self[0]).$parent.$index() 
 两层数组嵌套,选取外层的变量值 _ko.contextFor(_ctx.self[0]).$parent.变量名() 
 三层数组嵌套,从最内层数组向外选取第二层的变量值 _ko.contextFor(_ctx.self[0]).$parentContext.$parent.变量名()

注:数组嵌套中,想要确定最外层的元素的id,是从最内层的子元素开始,向外找父元素。从最内层的子元素找父元素,一级一级向外扩展。