有些人喜欢右滑回退到上一页,这个功能在单页应用能实现吗
来源:4-7 vue-router 实现页面路由-01
慕数据7523543
2023-02-14
老师 您好,能否出一期视频讲解下如何实现这种操作
写回答
1回答
-
one_pieces
2023-02-14
这个该怎么说呢?实现是能实现的,大致原理就是在整个页面那层加个 touch 监听事件,然后再事件里判断用户是否向右滑动了,然后对应地加一下滑动的动画效果,让页面整个也右滑。如果右滑超过宽度一半,就把页面回退。怎么实现滑动可以看看 Swipe 组件那些章节。
但这里其实还有很多细节需要考虑,比如第一个问题就是这个 touch 事件可能会跟页面的其它区域的 touch 事件重叠,比如 Swipe 组件。还有另一个问题就是因为是单页应用,当前页面滑动的话,底下是没有上一个页面的,滑完还有加载上一个页面的加载效果,这个跟我们平时右滑回退到上一页的效果还是有些差别,所以一般这种右滑回退到上一页是用原生做的。但也不是说就要全部功能用原生实现,可以让单页应用跳转一个新的页面的时候,是打开另一个 webview,盖在原本 webview 上面,而不是在原本 webview 重新加载新页面。这样就可以实现我们想要的整个页面右滑,然后可以再底下看到上一页的效果。
所以在真正的工作中,我们要实现一个前端功能,不是说只靠前端,很多时候会涉及不同工种的同学,需要考虑我们负责范围外的事情,比如后端或者原生等等。
00
相似问题