首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在slideTo()中使用vue-超棒-swiper?

我如何在slideTo()中使用vue-超棒-swiper?
EN

Stack Overflow用户
提问于 2019-11-02 09:07:34
回答 3查看 5.6K关注 0票数 1

我有个项目在这里输入链接描述

我使用哇-太棒了-刷卡

我是拇指示例slideTo实例

代码语言:javascript
复制
<swiper :options="swiperOptionThumbs" class="gallery-thumbs" ref="swiperThumbs">
  <swiper-slide class="slide-1">1.1</swiper-slide>
  <swiper-slide class="slide-2">1.2</swiper-slide>
  <swiper-slide class="slide-3">1.3</swiper-slide>
  <swiper-slide class="slide-4">1.4</swiper-slide>
  <swiper-slide class="slide-5">1.5</swiper-slide>
</swiper>

<swiper :options="swiperOptionTop" class="gallery-top" ref="swiperTop">
  <swiper-slide class="slide-1">1</swiper-slide>
  <swiper-slide class="slide-2">2</swiper-slide>
  <swiper-slide class="slide-3">3</swiper-slide>
  <swiper-slide class="slide-4">4</swiper-slide>
  <swiper-slide class="slide-5">5</swiper-slide>
</swiper>

脚本:

代码语言:javascript
复制
<script>
export default {
  name: "HelloWorld",
  props: {
    msg: String
  },
  data() {
    return {
      swiperOptionTop: {
        spaceBetween: 10,
        slidesPerView: 1
      },
      swiperOptionThumbs: {
        spaceBetween: 10,
        slidesPerView: 4,
        slideToClickedSlide: true
      }
    };
  },
  computed: {
    swiper() {
      return this.$refs.swiperOptionTop.swiper;
    }
  },
  methods: {
    toSlide(i) {
      this.$refs.swiperOptionTop.swiper.slideTo(i);
    },
    toNext() {
      console.log("S>>> next " + this.$refs.swiperOptionTop.swiper);
      this.$refs.swiperOptionTop.swiper.slideNext();
    }
  },
  mounted() {
    this.$nextTick(() => {
      const swiperTop = this.$refs.swiperTop.swiper;
      const swiperThumbs = this.$refs.swiperThumbs.swiper;
      swiperTop.controller.control = swiperThumbs;
      swiperThumbs.controller.control = swiperTop;
    });
  }
};
</script>

但没什么效果。

问题:如何设置slideTo方法或对滑块使用拇指(vue可怕的滑动滑块)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-11-02 09:43:44

在您的代码框中,我发现了以下错误:

1.删除.native后缀在@click.native

代码语言:javascript
复制
<button @click="toSlide(0)">To Slide 1</button>
<button @click="toSlide(1)">To Slide 2</button>
<button @click="toSlide(2)">To Slide 3</button>

2. $refs指出的组件不正确

代码语言:javascript
复制
toSlide(i) {
  // Wrong ref
  // this.$refs.swiperOptionTop.swiper.slideTo(i)
  this.$refs.swiperTop.swiper.slideTo(i, 0);
}

在其他地方也有错误的裁判,你可以自己检查。

修改上述错误后,您可以发现slideTo方法可以正常执行,希望我能帮助您:)

票数 4
EN

Stack Overflow用户

发布于 2020-07-04 08:18:08

还请注意,如果在模板中使用pug,则必须使用以下条目。

代码语言:javascript
复制
PUG
    Swiper(
           :options="swiperOptions" // { it's options }
           ref="swiperTop" // your reference name
          )
           SwiperSlide(v-for="(item, key) in images" :key="key") // your slides
JS
this.$refs.swiperTop.$swiper.slideTo(key)

票数 2
EN

Stack Overflow用户

发布于 2021-06-28 10:53:20

确保在编写代码时没有犯错误:

  1. 错误1:
代码语言:javascript
复制
<div
  class="swiper-container"   //xxxx----custom label naming cannot be ”swiperr-container" or the class name in the component“
>
  <swiper class="swiper" :options="swiperOption" ref="mySwiper">
    <div
      class="swiper-stations" v-for="(item, index) in stations"
      :key="index"
    >  //xxxx----Div tags cannot be nested between  <swiper > and <swiper-slide>
      <swiper-slide></swiper-slide>
    </div>
  </swiper>
</div>
  1. 你必须遵循这样的步骤

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58669670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档