基于vue2实现的外卖app----better-scroll列表左右联动

1、页面

2、接口

3、UI组件

4、滚动插件better-scorll

https://better-scroll.github.io/docs-v1/doc/zh-hans/

5、新写项目

开发工具:vscode,webstorm

浏览器:谷歌浏览器

开发环境:node.js

5-1、搭建项目

  • 全局安装脚手架
  • 创建项目
    • router
    • vuex
  • 开发

6、项目

6-1、创建项目

vue create 项目名

6-2、初始化项目的目录结构

6-3、规划页面

  • 一级页面
    • 首页
    • 商品详情页
  • 二级页面
    • 商品
    • 评价
    • 商家

6-4、新建页面和配置路由

  • 给出口并测试
  • 给导航

6-5、开发

6-5-1、重置样式

  • 建一个reset或者normal的重置样式文件
  • 在main.js中引入

6-5-2、下载安装UI组件库

  • 下载安装
  • 引入
  • 使用

6-5-3、写静态页面

6-5-4、发送请求拿数据

  • 需要axios
  • 请求数据回填显式

6-6、better-scroll

  • 下载安装
npm install better-scroll@1.11.1
  • 引入
import BScroll from "better-scroll"
  • 使用
 this.betterScroll = new BScroll(".goods-rigth")

6-6-1、左联右

// 点击左侧导航
    sideBarClick(index) {
      console.log(index);
      // 通过索引获取右侧的目标元素
      // 不能用querySelector去获取元素,因为querySelector不支持数字的形式获取元素
      let targetEl = document.getElementById(index + "");
      this.betterScroll.scrollToElement(targetEl, 500);
    },

在这里插入图片描述

6-6-2、右联左

  • 监听右侧是滚动,并拿到y轴滚动的距离
  • 判断滚动到哪一个范围
this.betterScroll.on("scroll", ({ y }) => {
   let _y = Math.abs(y);
      this.getPoint.forEach((item) => {
      	if (_y >= item.start && _y < item.end) {
          this.activeKey = item.id;
       	}
    });
});
  • 计算范围
 computed: {
    getPoint() {
      // 获取盒子高度
      let arrH = [];
      this.goodsList.forEach((item, index) => {
        let h = document.getElementById(index + "").offsetHeight;
        arrH.push(h);
      });
      let newArr = [];
      let total = 0;
      arrH.forEach((heigth, index) => {
        let obj = {
          start: total,
          end: total + heigth,
          id: index,
        };
        newArr.push(obj);
        total += heigth;
      });
      console.log(newArr);
      return newArr;
    },
  },
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么前端都要学习Vue】 这几年Vue.js成为前端框架中最火的一个。越来越多的网站前端开始采用Vue.js开发。是开源世界华人的骄傲,作者是我国的尤雨溪大神。相对于其他前端框架,Vue 更容易上手!正因为它简单易学,很多前端开发工程师可以很快掌握并且应用到实际开发中。如果说你想用最短的时间来学习一个框架,快速上手项目,Vue是不二之选。 【学员收益】 1)大部分学员想要学习Vue,但是无奈缺少一个好老师,董老师将手把手带领你学习,让你彻底掌握Vue框架。 2)课程将会长期维护,内容更超值,本课程基于最新的版本进行讲解,并且老师会更新升级到3.0稳定版本。 3)学完该课程后不仅能学到Vue的设计和开发技能,还能培养市场思维、用户思维、设计思维,并能够利用掌握的技术开发Vue项目,获取额的收益。 【课程收获】 1、从基础知识到项目实战,内容涵盖Vue各个层面的知识和技巧2、学习曲线平缓,前端新人也可以看得懂3、贴近企业项目,按照企业级代码标准和工程开发的流程进行讲解4、让你能够独立开发高颜值的项目 5、项目涉及14大功能组件,从基础组件到业务组件,一站式全掌握 【项目效果】 本课程打造的是高颜值的美团项目。不仅界面美观,而且涉及到了众多页面。多说无益,请大家扫码查看课程效果。
Vue是一种用于构建用户界面的渐进式JavaScript框架,它可以帮助开发者更高效地构建单页面应用程序。而vue-better-scroll是基于Vue的一款优秀的滚动插件,它能够实现更流畅的滚动效果,并且支持上下左右的滚动和联动效果。 如果需要实现左右侧菜单的联动效果,我们可以通过使用vue-better-scroll的scrollToElement方法来实现。首先,我们需要在Vue中引入vue-better-scroll插件并进行配置。 在Vue实例的data中,我们可以定义左右两个菜单的数据,例如leftMenu和rightMenu,并在created生命周期中初始化数据。然后,在mounted生命周期中,我们可以通过refs属性获取到两个菜单容器的DOM元素。 接下来,我们需要监听左边菜单的点击事件,当点击左边菜单的某个选项时,我们可以通过调用vue-better-scroll的scrollToElement方法,将右边菜单滚动到对应的位置。通过传递目标元素的选择器或具体的DOM元素,我们可以实现左右菜单的联动效果。 具体实现时,我们可以在左边菜单的点击事件中,使用this.$refs来访问右边菜单容器,并调用scrollToElement方法,将目标元素滚动到可视区域。通过传递选择器或具体DOM元素作为参数,我们可以精确控制滚动的位置。 同时,为了视觉上更好的效果,我们还可以给目标元素添加样式,如高亮当前选中项,以提升用户体验。 最后,通过一系列的事件处理和样式设置,我们就可以实现左右侧菜单的联动demo了。 以上就是使用Vuevue-better-scroll实现左右侧菜单联动demo的大致思路和步骤。通过合理运用这两个工具,我们可以轻松地实现出一个流畅、友好的用户界面效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值