Vue项目中使用swiper在移动端开发轮播图

vue项目中用swiper轮播图

老规矩,先看效果
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
在这里插入图片描述

第一步:安装swiper

npm install vue-awesome-swiper --save

第二步:在vue文件中使用
1、 引入依赖
import 'swiper/dist/css/swiper.css';
import { swiper, swiperSlide } from 'vue-awesome-swiper';
 
export default {
  name: 'swiper',
  components: { swiper, swiperSlide },
...
2、封装了轮播图属性、图片网址数据

注意不同swiper版本属性名称、赋值格式不同
swiperOption:分页,每3s轮播一页

data() {
    return {
      swiperList :[],
      swiperOption: {
        autoplay: {
          disableOnInteraction: false,  // 用户操作swiper之后,是否禁止autoplay
          delay: 3000, // 自动切换的时间间隔(单位ms)
        },
        initialSlide: 0,
        loop: true,
        pagination: { el: '.swiper-pagination' }, // 分页按钮
        paginationClickable: true,
        onSlideChangeEnd: swiper => {
          //console.log('onSlideChangeEnd', swiper.realIndex)
        }
      }
    }
  },
3、轮播图代码
<section class="my-swiper">
    <swiper :options="swiperOption">
        <swiper-slide  class="my-swp-silde" v-for="(slide, key) in swiperList" :key="key" data-id="slide.id">
            <img class="my-swp-img" :src="slide.img" alt="">
        </swiper-slide>
        <div class="swiper-pagination" slot="pagination"></div>
    </swiper>
</section>
4、通过mock模拟数据接口

!!!轮播的图片,我是通过mock模拟的数据,在这里也奉上我的代码,要不大家不知道上边代码中swiperList是怎么来的 ^ _ ^

(这里不重点讲axios和mock怎么用了)

...
import '@/api/mock/images'//这是我的模拟图片的接口
import api from '@/api/axios/api' //封装axios请求
...
mounted () {
    this.bannerInfo();
  },
  methods: {
    //轮播图初始化
    bannerInfo() {
    //通过接口获取图片数据
      api.api('/images/list')
      .then(res => {
        this.swiperList = res;
      });
    }
  },
  ...
Vue移动端轮播图可以通过使用Vue的生命周期钩子函数和一些插件或库来实现。以下是一种简单实现轮播图的方法: 1. 安装依赖:使用npm或者yarn安装vue-awesome-swiper插件,这是一个针对移动端开发swiper插件。 2. 在Vue组件引入依赖: ```javascript import 'swiper/css/swiper.css'; import VueAwesomeSwiper from 'vue-awesome-swiper'; Vue.use(VueAwesomeSwiper); ``` 3. 在Vue组件使用轮播图: ```html <template> <div class="swiper"> <swiper :options="swiperOptions"> <swiper-slide v-for="(item, index) in images" :key="index"> <img :src="item.src" :alt="item.alt"> </swiper-slide> <div class="swiper-pagination" slot="pagination"></div> </swiper> </div> </template> <script> export default { data() { return { swiperOptions: { autoplay: true, // 自动播放 pagination: { // 分页器设置 el: '.swiper-pagination' } }, images: [ { src: 'image1.jpg', alt: '图片1' }, { src: 'image2.jpg', alt: '图片2' }, { src: 'image3.jpg', alt: '图片3' } ] } } } </script> <style> .swiper { width: 100%; height: 100%; } .swiper .swiper-pagination { position: absolute; bottom: 10px; left: 0; right: 0; text-align: center; } </style> ``` 这个例子,我们首先安装了vue-awesome-swiper插件,并在Vue组件引入和使用。通过设置swiperOptions对象来配置轮播图的选项,例如自动播放和分页器设置等。在images数组定义了轮播图的图片和对应的alt文本。通过v-for循环遍历images数组,为每个图片创建一个swiper-slide。在使用分页器时,通过定义slot="pagination"将分页器添加到相应的位置。最后,通过样式设置轮播图的宽度和高度,以及分页器的位置。 这只是一个简单的示例,根据具体需求,我们可以进一步对轮播图进行定制和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值