vue中使用swiper实现页面内容滑动以及导航栏之间的联动效果

本文介绍了在Vue项目中利用swiper组件实现页面内容的滑动以及导航栏之间的联动效果。详细讲解了如何引入swiper,创建导航栏和页面滑动组件,并解决在实现过程中遇到的问题,如Swiper未定义错误和slideChange事件不响应。通过监听消息传递,实现了点击导航栏切换页面和页面滑动时导航栏自动激活的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路

1.实现页面;

2.点击导航栏实现页面切换;

3.滑动页面实现导航栏激活;

效果演示

在这里插入图片描述

一、引入swiper

安装 npm install swiper vue-awesome-swiper --save

在项目main.js中进行如下设置
在这里插入图片描述

二、实现页面

采用vue组件化实现页面构建,HomeHeader为导航栏组件,HomeSwiper为展示页面滑动组件
在这里插入图片描述

三.导航栏组件

共五个导航栏,点击不同导航栏通过vue观察者模式向兄弟组件发送“tabSwitch”消息传递当前index

在这里插入图片描述

四.页面内容滑动组件

将5个滑动的页面采用vue动态组件的方式引入,使用component标签实现,不懂得可自行查阅资料,这里不做详述

注意此处有两个大坑,我使用的版本为swiper@6.3.3,vue-awesome-swiper@4.1.1

在这里插入图片描述

1.在初始化swiper(下图46行)的时候会报错,Swiper is not defined
解决办法:引入Swiper,如图23行所示
2.使用官方提供的swiper标签生成页面模板时会接收不到“slideChange”事件
解决办法:template里面使用如下格式,3-13行所示

在这里插入图片描述

该组件通过监听导航栏发送的“tabSwitch”消息,通过swiper提供的slideTo方法改变页面内容展示,下图49-51行
页面滑动时,通过监听swiper提供的"slideChange"事件,向导航栏组件发送“pageSwitch”消息,下图54-57行所示

在这里插入图片描述

五.导航栏组件接收参数并实现对应导航激活

页面滑动时,通过监听页面滑动组件发送的的"pageSwitch"消息,激活对应的导航栏,下图30-34行所示

在这里插入图片描述
至此所有功能已完成

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值