这一篇随笔主要用来说解和记录我对一个问题的解决思路。app
首先我来说解下遇到的问题,在开发一个外卖uni-app的过程当中,我碰到了一个问题,店铺页面商品实现懒加载和列表动态切换,实现和美团,饿了么同样的效果,并在这个基础上给予动态效果,大体设计以下图:设计
在作这个页面功能的时候,我首先是要解左侧列表框和右侧产品框的协调问题,下面分享个人思路,blog
左侧列表框思路:接口
初始:在初始化接口时,须要后台把全部的左侧列表数据和店铺数据返回出来给我,我这里作一个数据的初始化,定义一个全局变量,初始值为0,定义一个暂存数据arr,初始值为【】。开发
处理:在初始化结束后,显示数据。产品
右侧处理完后:全局获取view标签的上边距,标给左侧栏的一个值(top),若是没有获取到view的,表明还未获取,赋值为0后台
点击时:判断这一列的top是否为0,若是是,根据右侧列表初始化的思路再去拿20个,拿完后执行上方步骤,完成后再判断,直到有top,赋值有右侧来进行动态滑动基础
右侧滑动时变量
右侧列表框思路:美团
初始化:在左侧列表框获取结束后,全局定义的变量为0,我以这个为下标,能够拿到第一列列表的id,根据这个id去后台获取商品,商品返回后判断是否够20个,若是够,就进行数据处理,若是不够,全局下标+1,数据暂存到全局暂存arr中,继续范围后台去拿下一个列表的商品,直到够20个或获取到所有列表的商品为止。
数据处理:根据返回的数据,循环后能够找到是哪一个下标的商品,直接添加到左侧列表的数据中,显示出来。
滑动时:这里滑动时有一个误区,滑动时判断外层的滑动位置,再与右侧进行比对,当值大于前一个小于下一个时,判断为前一个标签的下标,给予左侧效果。
滑动到底部时:判断全局下标是否为最后一列,没有的话根据初始化的思路来拿下20个,处理后显示出来。
这一套思路完成后,你的页面效果能够和基本和美团,饿了么同样,若是对你有什么帮助,请点个推荐,谢谢。