Swiper + Vue3 = 天作之合_vue实现swiper

boyanx3个月前技术教程20

前言

Swiper 是前端轮播图界的扛把子,而 Swiper Element 是它的 Web Components 版本,兼容性强、使用简单,特别适合 Vue3 项目中直接上手!

今天我们就来搞定它!


步骤一:安装 swiper

首先当然是安装依赖啦~ 打开你的终端,输入

npm install swiper
# 或者用 yarn
yarn add swiper

Tip:这里我们用的是 swiper 的 Web Components 版本,不是 vue-awesome-swiper 哦!vue-awesome-swiper已经不再维护啦!


步骤二:在 main.js 中注册 Swiper Element

Swiper Element 是原生 Web Component,所以要先注册一下,不然 Vue 不认识它

打开你的 main.js 或 main.ts,加入以下代码:

// main.js
import { createApp } from 'vue'
import App from './App.vue'
// 引入 swiper 的 element bundle
import 'swiper/element/bundle'
// 注册 swiper 的自定义元素
import { register } from 'swiper/element/bundle'
register() //  必须注册!
createApp(App).mount('#app')

到这一步,Swiper 的组件就可以在全局用了!


步骤三:在组件中使用 swiper-container 和 swiper-slide

在你想放轮播图的 Vue 组件中,直接写(是不是很像原生标签?就是这么丝滑~)

<!-- App.vue -->
<template>
<swiper-container
slides-per-view="1"
navigation="true"
pagination="true"
loop="true"
style="width: 600px; height: 300px;"
>
<swiper-slide> Slide 1</swiper-slide>
<swiper-slide> Slide 2</swiper-slide>
<swiper-slide> Slide 3</swiper-slide>
</swiper-container>
</template>
<script setup>
// 不需要再引入 Swiper 组件了,已经全局注册啦~
</script>
<style scoped>
/* 可选样式:你也可以自定义按钮、分页器等样式 */
</style>

到这里,轮播图已经跑起来啦!是不是超级简单!


Bonus:监听事件也很 easy!

Swiper 的事件也能直接监听,像这样

<swiper-container
@slidechange="onSlideChange"
@swiperprogress="onProgress"
>
<swiper-slide> Slide A</swiper-slide>
<swiper-slide> Slide B</swiper-slide>
</swiper-container>
<script setup>
function onSlideChange(e) {
console.log('Slide changed!', e.detail)
}
function onProgress(e) {
console.log('Swiper progress:', e.detail)
}
</script>

总结一下(划重点)

安装 swiper
在 main.js 注册 Web Components
在组件中直接用 swiper-container & swiper-slide
支持属性传参 + 事件监听
样式也都打包好了,开箱即用!


最后

如果你觉得这个轮播图用起来舒服,那就冲!
如果你遇到问题,欢迎评论区留言,我们一起 debug!

相关文章

微信应用号来了,真的可以替代APP?

等待多时的微信应用号终于来了。许多微信公众号大号都收到了的内测邀请函。不过,他的真名叫:“微信公众号·小程序”。名字叫什么不重要,开放给开发者的能力才最重要!据悉,小程序仍然处于内测。全面开放申请后,...

手把手带你完成OpenHarmony藏头诗App

1. 介绍在天行数据发现一个有趣的Api接口-藏头诗生成,只要输入特定的内容就能生成藏头诗句,使用DevEco Studio 3.0 Beta4 实现一款运行在OpenHarmony操作系统上的应用程...

二、Uni-app + Vue3 页面组件介绍

uni-app 项目中,页面有两种:.vue 和 .nvue 文件。两者差异在于 .vue 文件使用 webview 进行渲染,.nvue 会使用原生进行渲染。一个页面就是一个符合 vue 的单文件组...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。