数据绑定信息点——分页

案例内容:使用数据绑定信息点实现如下分页效果:

注意事项:分页绑定是需要和“同步数据元素”互相配合,从而达到真实的分页效果的;此文仅描述了前端如何绑定。

1. 原理

(1)通过数组绑定,生成分页的元素。

(2)点击分页的任意一页,数据层使用某个变量(如:currentpage)表示当前页,点击相应的元素则改变数据层的该变量。

(3)通过同步数据元素监听当前页变量,来触发服务器请求对应页面的真实数据。

2. 实现步骤

(1)从左侧“静态元素”中拖入页面一个分页元素。在分页元素的“上一页”上右键,选择“列表操作”→“删除其它列表项”。

(2)在提示区中选择<ul>→逻辑→数据绑定→绑定模式:数组绑定→绑定参数:page→绑定变量初始化:{"currentpage":0}。

(3)在提示区选中<li>标签→逻辑→逻辑→产生效果:绑定数据编程→高级编辑:

if ( _ko.dataFor(_ctx.self[0]).state() !== "disabled") {
_vm.currentpage(_ko.dataFor(_ctx.self[0]).cpage()) ;
}

选中<li>标签→逻辑→数据绑定→绑定模式:css类绑定→绑定参数:{"disabled":state() =="disabled","active":state() =="active"}

(4)在提示区选中<a>标签→逻辑→数据绑定→绑定模式:文本内容绑定→绑定参数:ctx

选中<a>标签→逻辑→逻辑→额外逻辑:事件控制→高级编辑:默认设置即可。

(5)在一个层中插入“同步数据元素”。右键点击同步数据元素→获取数据元素设置→需要提交的页面数据层的变量:currentpage→监听变量:currentpage

右键点击同步数据元素→逻辑→数据绑定→绑定变量初始化:{"page":[{"ctx":"上一页","cpage":1,"state":"disabled"},{"ctx":1,"cpage":1,"state":"active"},{"ctx":2,"cpage":2,"state":""},{"ctx":3,"cpage":3,"state":""},{"ctx":4,"cpage":4,"state":""},{"ctx":"下一页","cpage":2,"state":""}]}。

3. 注意事项

(1)返回的分页数组名(上文中的page)与currentpage的名字都是可更改的。

(2)当页面支持多分页时,数组名与currentpage的名字要保持一致。