vue-awesome-swiper使用遇到的坑

本文介绍了在使用 VueAwesomeSwiper 的过程中遇到的问题及解决方案。首先,通过 npm 安装最新版本后发现轮播图的 pagination 不显示。为解决此问题,选择回退到 Swiper4 的 v3.1.3 版本,并详细说明了如何卸载旧版本、安装指定版本的步骤,以及在注册和使用过程中的注意事项,包括更改 CSS 和保持 swiperOptions 参数与 Swiper 官方 API 一致,最终成功实现 pagination 显示。

最新版使用

安装
最新版本使用 npm install swiper vue-awesome-swiper --save
安装后可以看到版本是这样的

注册

import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/swiper-bundle.css'
Vue.use(VueAwesomeSwiper)

使用

<template>
  <div class="swiper">
    <swiper ref="mySwiper" :options="swiperOptions">
      <swiper-slide v-for="item in imgUrl" :key="item.id">
        <img class="swiper-img" :src="item.url"/>
      </swiper-slide>
      <div class="swiper-pagination" slot="pagination"></div>
    </swiper>
  </div>
</template>

<script>
export default {
  name: 'HomeSwiper',
  data () {
    return {
      swiperOptions: {
        pagination: {
          el: '.swiper-pagination',
          clickable: true
        },
        autoplay: true
      },
      imgUrl: [
        {
          id: '01',
          url: './01.jpg'
        },
        {
          id: '02',
          url: './02.jpg'
        },
        {
          id: '03',
          url: './03.jpg'
        }
      ]
    }
  }
}
</script>

<style lang="stylus" scoped>
  .swiper >>> .swiper-pagination-bullet-active//样式穿透
    background: #fff
  .swiper
    width: 100%
    height: 0
    padding-bottom: 31.25%
    overflow: hidden
    background-color: #eee
    .swiper-img
      width: 100%
</style>

看起来没什么毛病,但是轮播图的pagination不显示。。。
所以,还是切版本吧,最新的不适合我(⊙o⊙)…
赶紧先卸载 npm uninstall swiper vue-awesome-swiper --save

避坑

1.安装旧版本,需要指定哪个版本,这里选择 Swiper4 v3.1.3 版本
npm install vue-awesome-swiper@3.1.3 --save
在这里插入图片描述
2.注册与前面类似,只是把css更换下

import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
Vue.use(VueAwesomeSwiper)

3.使用是一样的(swiperOptions中的参数同 swiper 官方 api 参数)
这时轮播图的pagination显示出来了,该是怎么样的就怎么样啦

### vue-awesome-swiper 使用教程 #### 1. 安装依赖 在 Vue2 项目中使用 `vue-awesome-swiper` 时,需要先安装 `swiper` 和 `vue-awesome-swiper` 依赖。根据版本的不同,安装的命令也略有差异: - 如果使用 `swiper@5` 和 `vue-awesome-swiper@4`,可以通过以下命令安装: ```bash npm install swiper@5 vue-awesome-swiper@4 ``` - 如果使用更高版本的 Swiper(如 `swiper@6.x` 或以上),需要安装对应的版本: ```bash npm install swiper vue-awesome-swiper ``` #### 2. 引入组件和样式 在 `main.js` 文件中引入 `vue-awesome-swiper` 插件以及 Swiper 的样式文件。具体引入方式根据 Swiper 的版本有所不同: - 如果使用 `swiper@5` 或更低版本,引入以下样式: ```javascript import VueAwesomeSwiper from 'vue-awesome-swiper' import 'swiper/css/swiper.css' // Swiper 5.x 及以下版本的样式 Vue.use(VueAwesomeSwiper) ``` - 如果使用 `swiper@6.x` 或更高版本,引入以下样式: ```javascript import VueAwesomeSwiper from 'vue-awesome-swiper' import 'swiper/swiper-bundle.css' // Swiper 6.x 及以上版本的样式 Vue.use(VueAwesomeSwiper) ``` #### 3. 在组件中使用 `vue-awesome-swiper` 安装并引入插件后,可以在 Vue 组件中使用 `vue-awesome-swiper` 提供的组件来创建轮播图。以下是一个基本的使用示例: ```vue <template> <div class="swiper-container"> <swiper :options="swiperOptions"> <swiper-slide v-for="(slide, index) in slides" :key="index"> <img :src="slide.image" :alt="slide.title" /> </swiper-slide> <!-- 分页器 --> <div class="swiper-pagination" slot="pagination"></div> <!-- 导航按钮 --> <div class="swiper-button-prev" slot="button-prev"></div> <div class="swiper-button-next" slot="button-next"></div> </swiper> </div> </template> <script> import { Swiper, SwiperSlide } from 'vue-awesome-swiper' export default { components: { Swiper, SwiperSlide }, data() { return { slides: [ { title: 'Slide 1', image: 'https://via.placeholder.com/800x400' }, { title: 'Slide 2', image: 'https://via.placeholder.com/800x400' }, { title: 'Slide 3', image: 'https://via.placeholder.com/800x400' } ], swiperOptions: { pagination: { el: '.swiper-pagination' }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' } } } } } </script> <style scoped> .swiper-container { width: 100%; height: 400px; } </style> ``` #### 4. 配置选项 `vue-awesome-swiper` 支持丰富的配置选项,可以通过 `swiperOptions` 对象来设置。以下是一些常用的配置项: - **分页器**:通过 `pagination` 配置分页器的位置和样式。 - **导航按钮**:通过 `navigation` 配置前后导航按钮。 - **自动播放**:通过 `autoplay` 配置轮播图的自动播放功能。 - **循环模式**:通过 `loop` 配置是否启用循环播放。 - **滑动效果**:通过 `effect` 配置滑动效果(如 `slide`、`fade`、`cube` 等)。 #### 5. 自定义样式 可以根据需求自定义轮播图的样式,例如调整图片的大小、位置以及分页器的样式。可以在组件的 `<style>` 部分添加自定义 CSS 样式。 --- ###
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值