You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
selectMenu(index) {
let foodlist = this.$refs.foodScroll.getElementsByClassName("food-list-hook")
let element = foodlist[index]
this.foodScroll.scrollToElement(element, 250)
}
一、项目展示:
注意:如果gif动态图看不了,麻烦大家点击github美团项目中mt-app/src/assets/美团.gif便可以观看!
本项目很适合vue初学者,如果业务逻辑看不懂,很欢迎一起讨论!
源码地址:mt-app,欢迎 star 和 fork
如果对你有些许帮助,不妨点赞、关注我一下啊
二、项目涉及到技术栈:
三、项目主要功能
一言而蔽之:一款集点菜、用户评价和商家信息为一体的移动端点餐APP
点选商品后自动添加到购物车,并计算好总价,在商品列表、购物车列表和商品详情页都可以随意增减数目,此外左侧商品分类和右侧的商品相互关联,通过better-scroll插件滑动商品列表时,相应的商品分类也会跟着跳转。
主要包括一个TAB栏,包括三部分:全部、有图和评价三个模块
主要介绍一些商家基本信息,可以通过better-scroll插件,进行左右滑动图片
四、项目难点
该项目业务逻辑主要集中在点餐模块,而点餐模块中难点便是如何实现商品列表滑动,以及右侧商品分类和左侧商品列表如何联动?
首先要实现商品列表的滑动,就需要用到一个better-scroll插件,better-scroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件。
npm install better-scroll --save
import BScroll from 'better-scroll'
这些准备工作做好后,实现左右两边列表联动,总结起来有以下四个步骤:
1. 计算商品分类的区间高度
2. 监听滚动的位置
3. 根据滚动位置确认下标,与左侧对应
4. 通过下标实现点击左侧,滚动右侧
五、项目总结
The text was updated successfully, but these errors were encountered: