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也不会歪了~

Logo

前往低代码交流专区

更多推荐