vite + vue3 + setup中swiper的使用

求一个swiper轮播图在vite + vue3 + setup 中使用
我想要 这个网站中:https://pc.qq.com/detail/8/detail_11488.html 里哪个轮播图的效果,就是下面这个图片的轮播图

img

然后我发现这个网站中:https://3.swiper.com.cn/demo/index.html 分组显示 / Carousel 模式(05)效果差不多,网站中这个不可以循环播放

img

求个vite + vue3 + setup的代码和步骤

swiper.js可以实现这种,官方文档https://www.swiper.com.cn/api/index.html,vue使用方式见文档:https://swiperjs.com/vue

<template>
  <swiper
    :modules="modules"
    :slides-per-view="3"
    :space-between="50"
    navigation
    :pagination="{ clickable: true }"
    :scrollbar="{ draggable: true }"
    @swiper="onSwiper"
    @slideChange="onSlideChange"
  >
    <swiper-slide>Slide 1</swiper-slide>
    <swiper-slide>Slide 2</swiper-slide>
    <swiper-slide>Slide 3</swiper-slide>
    ...
  </swiper>
</template>
<script>
  // import Swiper core and required modules
  import { Navigation, Pagination, Scrollbar, A11y } from 'swiper/modules';

  // Import Swiper Vue.js components
  import { Swiper, SwiperSlide } from 'swiper/vue';

  // Import Swiper styles
  import 'swiper/css';
  import 'swiper/css/navigation';
  import 'swiper/css/pagination';
  import 'swiper/css/scrollbar';

  // Import Swiper styles
  export default {
    components: {
      Swiper,
      SwiperSlide,
    },
    setup() {
      const onSwiper = (swiper) => {
        console.log(swiper);
      };
      const onSlideChange = () => {
        console.log('slide change');
      };
      return {
        onSwiper,
        onSlideChange,
        modules: [Navigation, Pagination, Scrollbar, A11y],
      };
    },
  };
</script>

参考一下这个博主的
https://cloud.chan3d.com/static/storybook/index.html?path=/story/ui-swiper-certify--%E4%BD%BF%E7%94%A8

在 Vite + Vue 3 + setup 的环境下使用 Swiper 轮播图,你需要按照以下步骤进行设置。

  1. 安装 Swiper:在终端中执行以下命令安装 Swiper:
npm install swiper
  1. 在需要使用轮播图的组件中引入 Swiper:
<template>
  <div class="swiper-container">
    <div class="swiper-wrapper">
      <div v-for="item in items" :key="item.id" class="swiper-slide">
        <!-- 渲染轮播图内容 -->
        <img :src="item.imageUrl" alt="Slide Image" />
      </div>
    </div>
    <div class="swiper-pagination"></div>
  </div>
</template>

<script>
import { onMounted, ref } from 'vue';
import Swiper from 'swiper';

export default {
  setup() {
    const items = ref([
      { id: 1, imageUrl: 'path-to-image-1.jpg' },
      { id: 2, imageUrl: 'path-to-image-2.jpg' },
      { id: 3, imageUrl: 'path-to-image-3.jpg' },
    ]);

    onMounted(() => {
      new Swiper('.swiper-container', {
        // Swiper 配置项
        // 例如:autoplay: true,
        //       loop: true,
        //       ...
      });
    });

    return { items };
  },
};
</script>

<style>
.swiper-container {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f0f0f0;
}

img {
  max-width: 100%;
  max-height: 100%;
}
</style>

注意:上述代码中的 path-to-image-1.jpgpath-to-image-2.jpgpath-to-image-3.jpg 分别代表轮播图图片的路径,请替换为真实的图片路径。

  1. 在需要使用轮播图的页面中引入该组件:
<template>
  <div>
    <h1>Swiper 轮播图示例</h1>
    <SwiperComponent />
  </div>
</template>

<script>
import SwiperComponent from './SwiperComponent.vue';

export default {
  components: {
    SwiperComponent,
  },
};
</script>

通过以上步骤,在 Vite + Vue 3 + setup 环境中就可以使用 Swiper 实现轮播图了。你可以根据 Swiper 的文档进一步自定义配置来满足你的需求。

这篇文章介绍的很详细了, 和你想要的轮播图效果也一样,你看一下:


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

我在vue3项目中使用的naiveui组件库,它只支持vue3的,轮播图的地址:https://www.naiveui.com/zh-CN/light/components/carousel 。希望对你有帮助。

img

没有用Element UI吗,用的话它里面有carousel组件
https://element-plus.org/zh-CN/component/carousel.html

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你看下这篇博客吧, 应该有用👉 :vue3+vite 使用swiper6
  • 除此之外, 这篇博客: vue2、vue3中使用swiper中的 一、vue3中使用swiper 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以提供使用vite + vue3 + setup的代码和步骤来实现在项目中使用Swiper轮播图的效果。

    首先,你需要安装Swiper库。打开终端,进入你的项目目录,运行以下命令来安装Swiper:

    npm install swiper
    

    安装完成后,你可以在你的Vue组件中使用Swiper。

    下面是一个示例代码:

    <template>
      <div class="swiper-container">
        <div class="swiper-wrapper">
          <div class="swiper-slide" v-for="item in items" : key="item.id">
            <img :src="item.image" alt="item.title" />
          </div>
        </div>
        <div class="swiper-pagination"></div>
      </div>
    </template>
    
    <script>
    import Swiper from 'swiper';
    
    export default {
      setup() {
        const items = [
          { id: 1, image: 'path/to/image1.jpg', title: 'Image 1' },
          { id: 2, image: 'path/to/image2.jpg', title: 'Image 2' },
          { id: 3, image: 'path/to/image3.jpg', title: 'Image 3' },
          // Add more items as needed
        ];
    
        onMounted(() => {
          new Swiper('.swiper-container', {
            loop: true, // 循环播放
            pagination: {
              el: '.swiper-pagination',
            },
          });
        });
    
        return {
          items,
        };
      },
    };
    </script>
    
    <style>
    .swiper-container {
      width: 100%;
      height: 100%;
    }
    
    .swiper-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    </style>
    

    在上面的代码中,我们使用了Swiper库来创建一个轮播图实例。items数组是需要轮播的图片数据,你可以根据自己的需求进行更改或添加更多数据。然后,使用onMounted钩子在组件挂载时初始化Swiper实例,并传入相关的配置选项。在模板中,使用v-for指令来遍历items数组,并渲染图片。

    注意,你需要根据自己的项目路径修改image属性中图片的路径。

    最后,请确保你的CSS文件包含Swiper的样式。你可以在你的入口文件(如:main.js)中引入Swiper的样式文件:

    import 'swiper/swiper-bundle.css';
    

    这样就完成了在vite + vue3 + setup项目中使用Swiper轮播图效果的代码和步骤。

    如果你遇到了其他问题或需要更详细的解释,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

参考gpt:
结合自己分析给你如下建议:
1.安装swiper插件,可以使用npm install swiper命令。
2.在main.js中引入swiper的样式文件,例如import 'swiper/css’。
3.在需要使用轮播图的组件中引入swiper的相关模块,例如import { Swiper, SwiperSlide } from 'swiper/vue’。
4.在组件的模板中使用和标签来创建轮播图,并设置相关的属性和事件。
5.在组件的setup函数中定义轮播图的数据和配置,并返回给模板。

自己写个css调整一下可以吗?

借鉴 vue3+vite+ts引入swiper并使用
https://blog.csdn.net/qcg14774125/article/details/124847621

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

在 Vite + Vue 3 + Composition API 中使用 Swiper 轮播图组件,你可以按照以下步骤进行:

  1. 安装 Swiper:首先,在你的项目中安装 Swiper。
npm install swiper
  1. 导入 Swiper 样式:在你的项目入口文件(通常是 main.jsmain.ts)中导入 Swiper 的样式文件。
import 'swiper/css';
import 'swiper/css/navigation';
import 'swiper/css/pagination';
  1. 创建 Swiper 轮播组件:在你的组件目录中创建一个新的 Swiper 轮播组件,比如 SwiperComponent.vue
<template>
  <div class="swiper-container">
    <div class="swiper-wrapper">
      <!-- 这里放置轮播图的内容 -->
      <div class="swiper-slide" v-for="(item, index) in items" :key="index">
        <img :src="item.image" alt="Slide" />
      </div>
    </div>
    <!-- 导航按钮 -->
    <div class="swiper-pagination"></div>
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue';
import Swiper from 'swiper';
import 'swiper/css';

const items = ref([
  { image: '/path/to/image1.jpg' },
  { image: '/path/to/image2.jpg' },
  { image: '/path/to/image3.jpg' },
  // 添加更多轮播图项
]);

let swiper;

onMounted(() => {
  swiper = new Swiper('.swiper-container', {
    loop: true, // 是否循环播放
    pagination: {
      el: '.swiper-pagination', // 指示器容器
    },
  });
});
</script>

<style>
/* 这里可以根据需要自定义样式 */
</style>
  1. 在你的页面中使用 Swiper 组件:在需要展示轮播图的页面中使用刚刚创建的 Swiper 组件。
<template>
  <div>
    <!-- 其他页面内容 -->
    <swiper-component />
    <!-- 其他页面内容 -->
  </div>
</template>

<script>
import SwiperComponent from './components/SwiperComponent.vue';

export default {
  components: {
    SwiperComponent,
  },
  // 其他配置
};
</script>

以上步骤是一个简单的示例,供你参考。实际项目中,你可以根据需求对 Swiper 进行更多的配置和样式调整。记得根据实际路径来设置图片的路径,确保图片能够正确加载。