Vue3 初始化swiper以及如何使用swiper的方法与事件

Vue3 初始化swiper以及如何使用swiper的方法与事件

初始化swiper

  1. 首先需要下载swiper.js
    npm install swiper
    
    我的版本是"swiper": "^8.1.3",
  2. 在需要使用的地方引入
    不同版本的swiper,包的路径是不相同的
    	import { Swiper, SwiperSlide } from "swiper/vue/swiper-vue.js";
    	import "swiper/swiper.min.css";	
    
  3. 使用swiper
          <swiper>
           <swiper-slide v-for="(item, i) in imgs" :key="item">
             <img :src="item" />
           </swiper-slide>
         </swiper>
    

使用swiper事件

      <swiper
        @slideChangeTransitionEnd="onSlideChangeTransitionEnd"
      >
        <swiper-slide v-for="(item, i) in imgs" :key="item">
          <img :src="item" />
        </swiper-slide>
      </swiper>

在vue3中,所有的事件都是通过在<swiper>绑定对应的事件实现的

使用swiper方法

使用swiper方法是需要创建一个swiper的实例

  1. 首先我们需要在swiper组件中绑定一个swiper的事件,以获得该swiper的实例
          <swiper
            @swiper="setControlledSwiper"
            @slideChangeTransitionEnd="onSlideChangeTransitionEnd"
          >
            <swiper-slide v-for="(item, i) in imgs" :key="item">
              <img :src="item" />
            </swiper-slide>
          </swiper>
    
  2. 利用事件创建实例
        const setControlledSwiper = (swiper) => {
         controlledSwiper = swiper
       }
    
    注意:该函数一定要return出去
  3. 使用swiper方法
        const notSubmit = () => {
         controlledSwiper.slideTo(1)
         activeIndex.value = activeIndex.value + 1
       }
    

swiper组件功能的使用

使用组件也必须先导入

	//import Swiper core and required modules
	import { Navigation, Pagination, Scrollbar, A11y } from "swiper";
	setup(){
		retrun{
			modules: [Navigation, Pagination, Scrollbar, A11y],
		}
	}
	 <swiper
	   :modules="modules"
	   :slides-per-view="1"
	   :space-between="50"
	   navigation
	   :pagination="{ clickable: true }"
	   :scrollbar="{ draggable: true }"
	 >
	<swiper>
Vue3初始化 Swiper 实例通常通过在其父组件的数据选项中定义,然后通过插值绑定到 DOM 元素上。以下是创建一个基本的 Swiper 实例并设置一些常用选项的例子: 首先,安装 Swiper 和相关库(如果你还没安装的话): ```bash npm install swiper@latest swiper-vue3@latest ``` 接着,在 Vue 组件的 script 部分: ```javascript import { create swiper } from &#39;swiper-vue3&#39;; export default { setup() { const swiperOptions = { // 设置滑块宽度、高度、容器样式等 width: &#39;100%&#39;, height: &#39;400px&#39;, pagination: { el: &#39;.swiper-pagination&#39;, // 定位子弹点的位置 clickable: true, // 是否点击子弹点能直接跳转 }, // 如果你想实现动态加载更多内容 lazy: { loadOnInit: false, loadPrevNextSlides: true, }, // 其他选项,如 autoplay、loop 等 }; const swiperInstance = create({ swiper, el: &#39;.swiper-container&#39;, // 指定包裹 Swiper 的元素 options: swiperOptions, }); return { swiperInstance }; }, }; ``` 最后,在模板中引入并使用: ```html <div class="swiper-container"> <!-- 当前滑块的内容 --> <div class="swiper-slide" v-for="(slide, index) in slides" :key="index">{{ slide.content }}</div> <!-- 弹簧点容器 --> <div class="swiper-pagination"></div> </div> <script setup> // ... 在setup函数中定义的swiperInstance </script> ``` 注意替换 `.swiper-container`, `.swiper-slide` 和 `.swiper-pagination` 为实际的类名或选择器。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值