乐优商场项目day13—页面分页效果

一、添加需要的数据

分页的话,我们需要知道总页数(totalPage)总条数(total)当前页(page),
所以我们先在data中记录这几个变量:

因为page是搜索条件之一,所以记录在search搜索对象中:

 

二、后台提供所需数据

我们后台中返回的PageResult对象里,其实是有这两个数据的:

 

我们只需要在返回时,将值填上:

重启搜索微服务,然后在页面测试一下看看:

 

 

三、编写页面显示效果

首先把后台提供的数据保存在data中:

先看一下要实现的分页效果:

这里面较难的是 1~5 的分页按钮,因为这五个按钮需要动态变化。

实现方法:

  • 因为最多5个按钮,所以我们可以用v-for循环1-5;
     
  • 但是分页条不一定是从1开始,要考虑以下几种情况:
    (当前页指的是当前选中的页,比如上面那个分页效果图的当前页是1)
    1.如果当前页值小于等于3的时候,分页条位置从1开始到5结束
    2.如果总页数小于等于5的时候,分页条位置从1开始到总页数结束
    3.如果当前页码大于3,应该从page-3开始
    4.如果当前页码大于totalPage-3,应该从totalPage-5开始

页面实现:

刷新页面查看效果:

优化一下显示:

 

四、编写绑定点击效果

绑定单击事件:

编写单击事件:

 

这样就可以完成上下一页和点击页的效果了;

不过其实当page发生变化时,我们应该去后台重新查询数据。
但是如果我们直接发起ajax请求,那么浏览器的地址栏中是不会有变化,也就没有记录下分页信息。
那么当用户刷新页面,就又会回到第一页,用户体验不好。
所以我们应该把搜索条件记录在地址栏的查询参数中
所以我们要监听search的变化,然后把search的过滤字段拼接在url路径后:

 

五、完成右上角的上下页

因为需要的数据和单击事件,前面都已经写好了。这里就很简单了:

分页就完成了。

 

欢迎大家交流与指正。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值