问题:使用Vue3实现swiper照片轮播,只显示第一张图片

这篇博客探讨了如何将 Vue2 中在 mounted 生命周期钩子中初始化 Swiper 的逻辑迁移到 Vue3 的 onUpdated 钩子。作者详细展示了 Vue3 中的 setup 函数内如何创建和配置 Swiper 实例,以确保组件更新后的正确运行。这是一个关于 Vue 框架升级和组件生命周期理解的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决:在onUpdated中实现swiper配置
(原来在Vue2中是在mounted配置的)
vue3

//vue3
setup(){
//省略。。。。。
    onUpdated(()=>{
        var swiper = new Swiper("#musicSwiper", {
            pagination: {
            el: ".swiper-pagination",
            clickable: true,
            },
        });
    })
    return{
        
    }
}

vue2

data:function(){
    return{
   
    }
},
async mounted(){
        var swiper = new Swiper("#musicSwiper", {
            pagination: {
            el: ".swiper-pagination",
            clickable: true,
            },
        });
}
    
    

### 实现 Vue3Swiper 默认显示第一张幻灯片 为了确保在 Vue3 项目中使用 Swiper 组件时默认展示第一张幻灯片,需按照如下方式配置: #### 安装依赖包 首先,在 `package.json` 文件内添加合适的依赖项。对于 Vue3 版本的项目来说,推荐安装最新版的 `swiper/vue` 和样式文件。 ```bash npm install swiper@latest vue-awesome-swiper --save ``` #### 配置全局变量或插件 如果希望在整个应用范围内访问 Swiper,则可以在项目的入口文件 `main.js` 或者 `main.ts` 进行初始化设置[^1]。 ```javascript import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; // 引入 Swiper 核心库以及 CSS 文件 import Swiper, { Navigation, Pagination } from &#39;swiper&#39;; import &#39;swiper/swiper-bundle.min.css&#39;; // 注册模块到 Swiper 类上 Swiper.use([Navigation, Pagination]); const app = createApp(App); app.config.globalProperties.$swiper = Swiper; app.mount(&#39;#app&#39;); ``` #### 使用 Swiper 组件并指定初始选项 创建一个新的组件用于承载 Swiper 轮播实例,并通过属性传递来控制其行为特性。特别注意的是要设定 `initialSlide` 参数为0以指明从第一页开始播放[^2]。 ```html <template> <div class="swiper-container"> <!-- 添加轮播容器 --> <swiper :modules="[Navigation,Pagination]" :slides-per-view="1" :space-between="50" @swiper="onSwiper" @slideChange="onSlideChange" :initialSlide="0"> <swiper-slide v-for="(item,index) in slidesData" :key="index">{{ item }}</swiper-slide> </swiper> </div> </template> <script setup lang="ts"> import { ref } from "vue"; import { Swiper, SwiperSlide } from "swiper/vue"; // 导入所需的 Swiper 功能模块 import { Navigation, Pagination } from "swiper"; // 初始化数据列表 let slidesData = ["Slide 1", "Slide 2", "Slide 3"]; function onSwiper(swiperInstance: any){ console.log(`当前激活的幻灯片编号:${swiperInstance.realIndex}`); } function onSlideChange(){ console.log("滑动事件触发"); } </script> <style scoped> /* 自定义样式 */ .swiper-container { width: 100%; height: 300px; } </style> ``` 上述代码片段展示了如何在一个基于 TypeScript 的 Vue3 单文件组件 (SFC) 中集成 Swiper 并使其启动时定位到第一个元素位置[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值