如何在Vue3中使用Swiper?

 3380

介绍

在 vue3 中使用 swiper, 实现轮播图的效果;如果组件样式等模块引入不当,很有可能导致,页面无效果;或者想要的箭头或者切换效果异常问题。具体使用方式如下所示:

使用方式

使用命令 npm install swiper 安装 swiper插件;

main.js里使用样式文件,如下所示:

  1. import App from './App.vue'
  2. import router from './router'
  3. import VueAwesomeSwiper from 'vue-awesome-swiper';
  4. import 'swiper/css';
  5. createApp(App).use(VueAwesomeSwiper).use(router).mount('#app')

在使用的页面,引入需要使用到的组件,比如常用的左右切换箭头,小圆点指示器等;如下所示:

  1. import { Swiper, SwiperSlide } from 'swiper/vue'
  2. // 引入swiper样式(按需导入)
  3. import 'swiper/css/pagination' // 轮播图底面的小圆点
  4. import 'swiper/css/navigation' // 轮播图两边的左右箭头
  5. // import 'swiper/css/scrollbar'  // 轮播图的滚动条, 轮播图里一般不怎么会使用到滚动条,如果有用到的话import导入就行
  6. // 引入swiper核心和所需模块
  7. import { Autoplay, Pagination, Navigation, Scrollbar } from 'swiper'
  8.  
  9. const navigation = ref({
  10.   nextEl: ".swiper-button-next",
  11.   prevEl: ".swiper-button-prev",
  12. });
  13. // 在modules加入要使用的模块
  14. const modules = [Autoplay, Pagination, Navigation, Scrollbar]
  15. const prevEl = (item, index) => {
  16.   // console.log('上一张' + index + item)
  17. };
  18. const nextEl = () => {
  19.   // console.log('下一张')
  20. };
  21. // 更改当前活动swiper
  22. const onSlideChange = (swiper) => {
  23. // swiper是当前轮播的对象,里面可以获取到当前swiper的所有信息,当前索引是activeIndex
  24.   console.log(swiper.activeIndex)
  25. }

在页面中使用组件和相关的模块

  1. <swiper
  2.     :modules="modules"
  3.     :loop="true"
  4.     :slides-per-view="1"
  5.     :space-between="50"
  6.     :autoplay="{ delay: 4000, disableOnInteraction: false }"
  7.     :navigation="navigation"
  8.     :pagination="{ clickable: true }"
  9.     :scrollbar="{ draggable: false }"
  10.     class="swiperBox"
  11.     @slideChange="onSlideChange"
  12. >
  13.     <swiper-slide>Slide 1</swiper-slide>
  14.     <swiper-slide>Slide 2</swiper-slide>
  15.     <swiper-slide>Slide 3</swiper-slide>
  16.     <div class="swiper-button-prev" @click.stop="prevEl(item, index)" />
  17.     <!--左箭头。如果放置在swiper外面,需要自定义样式。-->
  18.     <div class="swiper-button-next" @click.stop="nextEl" />
  19.     <!--右箭头。如果放置在swiper外面,需要自定义样式。-->
  20.     <!-- 如果需要滚动条 -->
  21.     <!-- <div class="swiper-scrollbar"></div> -->
  22. </swiper>

参数介绍:

modules

loop: 是否循环播放

slides-per-view:控制一次显示几张轮播图

space-between: 每张轮播图之间的距离,该属性不可以和margin 属性同时使用;

autoplay: 是否自动轮播, delay为间隔的毫秒数;disableOnInteraction属性默认是true,也就是当用户手动滑动后禁用自动播放, 设置为false后,将不会禁用,会每次手动触发后再重新启动自动播放。

navigation: 定义左右切换箭头

pagination: 控制是否可以点击圆点指示器切换轮播

scrollbar: 是否显示轮播图的滚动条, draggable设置为 true就可以拖动底部的滚动条(轮播当中,一般不怎么会使用到这个属性)


TAG标签:
本文网址:https://www.zztuku.com/detail-14173.html
站长图库 - 如何在Vue3中使用Swiper?
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐

    搜索引擎优化中关键词的分类