在vue中使用swiper的初始化问题

UI出的设计稿上,有个类似于轮播图的展示功能的模块,但是需要两边小中间大的样子,于是就想起了有这么一个组件叫swiper。但是网上搜可以搜到swiper以及一个叫vue awesome swiper的,后来才发现两个不是同一个东西,不能混用,引用方式和用法啥的也不一样,如果用着swiper却写了awesome swiper的引入方式,样式啥的都不会生效。

swiper中文网上刚好有这种两边小中间大的样例供你复制粘贴,所以干脆选择了swiper。键盘啪啪啪一顿敲之后,在调试的时候突然发现:swiper大概率在页面第一次打开的时候会歪到一边,并且显示不全。

咋整呢,网上搜到是异步加载的问题,同时得到几个解决方式,总结一下自己最后用的可以生效的那个方式:

window.onload,代码如下:

mounted: function() {
  window.onload = function() {
    this.myswiper = new Swiper(".swiper-container", {
      slidesPerView: "auto",
      centeredSlides: true,
      loop: true,
      spaceBetween: 4,
      navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
      },
    });
  };
}

( 'this.myswiper = ' 这段应该可以去掉)

如此一来在第一次打开页面的时候,swiper也不会歪了~

Vue.js中使用Swiper库,你可以轻松地创建轮播、幻灯片展示或者其他基于滑动的交互式组件。以下是基本步骤: 1. **安装Swiper**: 首先需要通过npm或yarn在项目中安装Swiper及其Vue插件。使用命令行工具: - npm: `npm install swiper vue-awesome-swiper` - yarn: `yarn add swiper vue-awesome-swiper` 2. **引入并注册组件**: 在main.js或你想使用的组件文件里,导入Swiper组件和样式: ```javascript import { Swiper, SwiperSlide } from 'vue-awesome-swiper'; Vue.use(Swiper); ``` 3. **在模板中使用Swiper**: 创建一个包含`<swiper>`和`<swiper-slide>`元素的div。例如,在一个.vue文件中: ```html <template> <div class="swiper-container"> <swiper :options="swiperOptions"> <swiper-slide v-for="(item, index) in items" :key="index"> {{ item.content }} </swiper-slide> <!-- 可选的额外按钮、导航等 --> </swiper> </div> </template> <script> export default { data() { return { items: [ // 定义每个滑动项的内容 { content: 'Slide 1' }, { content: 'Slide 2' }, // 更多... ], swiperOptions: {}, // 初始化配置选项 }; } } </script> ``` 4. **配置Swiper**: 在data对象中设置`swiperOptions`,如自动播放、切换效果、循环等: ```javascript swiperOptions: { autoplay: true, loop: true, pagination: { el: '.swiper-pagination', // 自定义分页器位置 }, } ``` 5. **事件处理**: 如果需要监听Swiper的事件(比如滑动结束),可以使用`@swiper/swipe`这样的绑定: ```html <swiper :options="swiperOptions" @swipe="handleSwipe"> ``` 然后在methods中定义`handleSwipe`函数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值