从 ion-slides 迁移到 Swiper.js
如果你的应用需要现代触摸滑动组件,我们推荐使用 Swiper.js。它曾经为我们的 ion-slides 组件提供支持,但现在我们建议开发者直接使用 Swiper for Vue。
本指南将介绍如何在你的 Ionic Framework 应用中为 Vue 配置 Swiper。它还将涵盖从 ion-slides 迁移到官方 Swiper Vue 集成所需的迁移信息。
Swiper 的 Vue 组件计划在未来的 Swiper 版本中移除,取而代之的是 Swiper Element。不过,本指南展示如何迁移到 Vue 组件,因为它目前提供了最稳定的体验。
使用 Swiper 的 Vue 组件不是必须的,你也可以使用其他方式在 Ionic Framework 中使用 Swiper.js。
入门
首先,更新到最新版本的 Ionic:
npm install @ionic/vue@latest @ionic/vue-router@latest
我们建议升级到 Vue CLI 5 以获得更好的 Swiper 兼容性:
vue upgrade --next
完成后,在你的项目中安装 Swiper 依赖:
npm install swiper@latest
样式配置
接下来,我们需要导入基本的 Swiper 样式。我们还将导入 Ionic 提供的样式,这样我们可以使用与 ion-slides 相同的 CSS 变量来自定义 Swiper 样式。
我们建议在使用 Swiper 的组件中导入样式,以确保样式仅在需要时加载:
<script>
import { defineComponent } from 'vue';
import 'swiper/css';
import '@ionic/vue/css/ionic-swiper.css';
export default defineComponent({
...
});
</script>
导入 @ionic/vue/css/ionic-swiper.css 不是使用 Swiper.js 与 Ionic 的必需步骤。此文件用于与 ion-slides 组件的向后兼容性,如果你不想使用样式表中提供的 CSS 变量,可以安全地省略它。
更新选择 器
以前,我们可以针对 ion-slides 和 ion-slide 应用自定义样式。这些样式块的内容保持不变,但我们需要更新选择器。以下是从 ion-slides 迁移到 Swiper Vue 时的选择器变更列表:
| ion-slides 选择器 | Swiper 选择器 |
|---|---|
ion-slides | .swiper |
ion-slide | .swiper-slide |
预处理器(可选)
对于使用 SCSS 或 Less 样式的开发者,Swiper 也提供了这些文件的导入。
对于 Less 样式,在 Swiper 导入路径中将 css 替换为 less:
import 'swiper/less';
import '@ionic/vue/css/ionic-swiper.css';
对于 SCSS 样式,在 Swiper 导入路径中将 css 替换为 scss:
import 'swiper/scss';
import '@ionic/vue/css/ionic-swiper.css';