当前位置:首页 > VUE

vue swiper 轮播实现

2026-02-17 19:19:23VUE

Vue 中使用 Swiper 实现轮播

Swiper 是一个流行的开源轮播库,支持移动端和桌面端的滑动效果。在 Vue 项目中,可以通过 swiper/vue 包快速集成。

安装 Swiper 依赖

确保项目中已安装 Swiper 的核心库和 Vue 专用模块:

npm install swiper @swiper/vue

基础轮播实现

在 Vue 组件中导入 Swiper 相关模块并配置:

<template>
  <swiper
    :slides-per-view="3"
    :space-between="50"
    @swiper="onSwiper"
    @slideChange="onSlideChange"
  >
    <swiper-slide v-for="slide in slides" :key="slide">
      {{ slide }}
    </swiper-slide>
  </swiper>
</template>

<script>
import { Swiper, SwiperSlide } from 'swiper/vue';
import 'swiper/css';

export default {
  components: { Swiper, SwiperSlide },
  data() {
    return {
      slides: ['Slide 1', 'Slide 2', 'Slide 3', 'Slide 4'],
      swiperInstance: null
    };
  },
  methods: {
    onSwiper(swiper) {
      this.swiperInstance = swiper;
    },
    onSlideChange() {
      console.log('Slide changed');
    }
  }
};
</script>

添加导航按钮和分页器

通过 Swiper 模块扩展功能:

<template>
  <swiper
    :modules="modules"
    :pagination="{ clickable: true }"
    :navigation="true"
  >
    <swiper-slide v-for="slide in slides" :key="slide">
      {{ slide }}
    </swiper-slide>
  </swiper>
</template>

<script>
import { Pagination, Navigation } from 'swiper';
import { Swiper, SwiperSlide } from 'swiper/vue';
import 'swiper/css';
import 'swiper/css/pagination';
import 'swiper/css/navigation';

export default {
  components: { Swiper, SwiperSlide },
  data() {
    return {
      modules: [Pagination, Navigation],
      slides: ['Slide 1', 'Slide 2', 'Slide 3']
    };
  }
};
</script>

自动播放与循环轮播

配置 autoplayloop 参数:

<template>
  <swiper
    :modules="modules"
    :autoplay="{ delay: 2500 }"
    :loop="true"
  >
    <!-- 幻灯片内容 -->
  </swiper>
</template>

<script>
import { Autoplay } from 'swiper';
// 其他导入同上
export default {
  setup() {
    return {
      modules: [Autoplay]
    };
  }
};
</script>

响应式断点配置

根据不同屏幕尺寸调整显示数量:

vue swiper 轮播实现

const breakpoints = {
  320: { slidesPerView: 1 },
  768: { slidesPerView: 2 },
  1024: { slidesPerView: 3 }
};

注意事项

  • 确保导入对应的 CSS 文件(如导航按钮需导入 swiper/css/navigation)。
  • 若需使用 Thumbs(缩略图)等功能,需单独安装对应模块。
  • Swiper 7+ 需使用 @swiper/vue,旧版 Vue 项目需注意版本兼容性。

标签: vueswiper
分享给朋友:

相关文章

vue弹幕实现不重叠

vue弹幕实现不重叠

实现 Vue 弹幕不重叠的方法 CSS 定位与动画控制 通过绝对定位和动态计算弹幕轨道高度,确保弹幕在不同轨道上运行。每条弹幕占据固定高度的轨道,避免重叠。 // 弹幕轨道高度计算 const tr…

vue实现跑车

vue实现跑车

Vue 实现跑车动画效果 使用 Vue 结合 CSS 动画可以实现跑车在屏幕上移动的效果。以下是一个完整的实现方案: 创建 Vue 组件结构 <template> <div c…

vue实现全屏

vue实现全屏

Vue 实现全屏功能的方法 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 来实现。以下是几种常见的实现方式: 使用原生 Fullscreen API 通过调用 doc…

vue实现定时

vue实现定时

Vue 实现定时功能的方法 使用 setInterval 和 clearInterval 在 Vue 中可以通过 setInterval 和 clearInterval 实现定时功能。在组件的 mou…

vue实现treeselect

vue实现treeselect

Vue TreeSelect 实现方法 使用 Vue 实现 TreeSelect 组件可以通过以下几种方式完成,包括使用现成的第三方库或自行封装组件。 使用第三方库 推荐使用成熟的第三方 TreeS…

vue实现筛选

vue实现筛选

实现筛选功能的基本思路 在Vue中实现筛选功能通常需要结合数据绑定、计算属性和方法。筛选的核心逻辑是根据用户输入的条件过滤原始数据列表,并动态更新显示结果。 数据准备 定义一个数组存储原始数据,另一…