3. 编辑元素
绑定数据编程是额外逻辑的一个分支,应用绑定数据编程可以实现复杂的逻辑关系。
右键点击元素→逻辑→逻辑→额外逻辑:绑定数据编程→高级编辑:
绑定数据编程可以实现很多效果,其中的逻辑代码设置使用JavaScript语法的逻辑代码,可以用变量:
(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
以上语法的具体应用:
数组内元素选取数组内变量值 | _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,是从最内层的子元素开始,向外找父元素。从最内层的子元素找父元素,一级一级向外扩展。