vue中引入swiper简单轮播

引用 Vue-Awesome-Swiper

安装

cnpm install vue-awesome-swiper -S

使用

     全局导入:

import vueSwiper from 'vue-awesome-swiper'
/* 样式的话,我这里有用到分页器,就在全局中引入了样式 */
import 'swiper/dist/css/swiper.css'
Vue.use(vueSwiper);

     组件导入:

import { swiper, swiperSlide } from "vue-awesome-swiper";
require("swiper/dist/css/swiper.css");
components: {
  swiper,
  swiperSlide
},

     在template中使用:

<swiper :options="swiperOption" ref="mySwiper" >
  <swiper-slide v-for="(item,index) in xxx" :key="index" >
    <img :src="item.image" alt="" />
  </swiper-slide>
  <!-- 常见的小圆点 -->
  <div class="swiper-pagination"  slot="pagination" ></div>
</swiper>

     在data中配置:

data() {
    return {
      xxx:["图片地址1","图片地址2"]
      imgIndex: 1,
      swiperOption: {
        //是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true
        notNextTick: true,
        //循环
        loop: true,
        //设定初始化时slide的索引
        initialSlide: 0,
        //自动播放
        autoplay: {
          delay: 1500,  //滑动一次时间 
          stopOnLastSlide: false,
          /* 触摸滑动后是否继续轮播 */
          disableOnInteraction: false
        },
        //滑动方向
        direction: "horizontal",
        //小手掌抓取滑动
        grabCursor: true,
        //分页器设置
        pagination: {
          el: ".swiper-pagination",
          clickable: true,
        }
      }
   };
},

更多API可以查阅官网:https://www.swiper.com.cn/api/index.html

### Vue3 中实现 Swiper 组件自动轮播 对于在 Vue3 项目中实现 Swiper 自动轮播功能,可以采用 `Swiper` 官方推荐的方式进行设置。由于 Vue3 的发布,官方提供了针对 Vue3 版本优化后的 `swiper/vue` 库来替代旧版本中的 `vue-awesome-swiper`。 #### 创建 Vue3 项目并安装依赖 为了使用最新版的 Swiper,在 Vue3 项目环境中需先执行命令安装必要的包: ```bash npm install swiper @types/swiper vue ``` 这一步骤确保了项目能够访问到最新的 Swiper 功能以及对应的 TypeScript 类型定义[^1]。 #### 配置自动播放选项 接着,在组件内部引入所需的模块,并配置 Swiper 实例以启用自动播放特性。下面是一个完整的示例代码片段展示了如何完成这一目标: ```javascript <template> <div class="swiper"> <!-- Additional required wrapper --> <div class="swiper-wrapper"> <div v-for="(slide, index) in slides" :key="index" class="swiper-slide">{{ slide }}</div> </div> <!-- 如果需要分页器 --> <div class="swiper-pagination"></div> <!-- 如果需要导航按钮 --> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> </template> <script setup lang="ts"> import { ref, onMounted } from 'vue'; import { Swiper, SwiperSlide } from 'swiper/vue'; import 'swiper/css'; // 样式文件 import 'swiper/css/pagination'; // 分页样式 (如果需要的话) // 导入所需模块 import { Autoplay, Pagination, Navigation } from 'swiper'; const props = defineProps({ slides: { type: Array, required: true, }, }); onMounted(() => { const swiperOptions = { modules: [Autoplay, Pagination, Navigation], autoplay: { delay: 2500, disableOnInteraction: false, }, pagination: { clickable: true }, navigation: true, }; new Swiper('.swiper', swiperOptions); }); </script> ``` 上述代码实现了基本的 Swiper 轮播效果,其中包含了自动播放、分页指示符和前后切换箭头等功能。特别需要注意的是 `autoplay` 属性下的两个参数:一个是延迟时间 (`delay`);另一个是在用户交互后是否停止自动播放(`disableOnInteraction`)。这些都可以根据实际需求调整[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值