Vue-awesome-swiper: [Vue warn]: Unknown custom element: <swiper> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

Created on 30 Nov 2017  ·  8Comments  ·  Source: surmon-china/vue-awesome-swiper

Vue.js version and component version

"vue": "^2.5.9",
"vue-awesome-swiper": "^3.0.0",

Steps to reproduce

  1. Update to latest Vue-Awesome-Swiper using Swiper 4
  2. Mount with component using the example in SPA

What is Expected?

Display the swiper (carousel) component

What is actually happening?

Error being shown:

Most helpful comment

import VueAwesomeSwiper from 'vue-awesome-swiper'
const { swiper, swiperSlide } = VueAwesomeSwiper

All 8 comments

Do you use with global?

https://github.com/surmon-china/vue-awesome-swiper#mount-with-global

I mount it in the component like so:

<!-- The ref attr used to find the swiper instance -->
<template>
  <swiper :options="swiperOption" ref="mySwiper">
    <!-- slides -->
    <swiper-slide>I'm Slide 1</swiper-slide>
    <swiper-slide>I'm Slide 2</swiper-slide>
    <swiper-slide>I'm Slide 3</swiper-slide>
    <swiper-slide>I'm Slide 4</swiper-slide>
    <swiper-slide>I'm Slide 5</swiper-slide>
    <swiper-slide>I'm Slide 6</swiper-slide>
    <swiper-slide>I'm Slide 7</swiper-slide>
    <!-- Optional controls -->
    <div class="swiper-pagination"  slot="pagination"></div>
    <div class="swiper-button-prev" slot="button-prev"></div>
    <div class="swiper-button-next" slot="button-next"></div>
    <div class="swiper-scrollbar"   slot="scrollbar"></div>
  </swiper>
</template>

<script>
  // require styles
  import 'swiper/dist/css/swiper.css'

  import { swiper, swiperSlide } from 'vue-awesome-swiper'

  export default {
    name: 'carrousel',
    components: {
      swiper,
      swiperSlide
    },
    data() {
      return {
        swiperOption: {
          // some swiper options/callbacks
          // 所有的参数同 swiper 官方 api 参数
          // ...
        }
      }
    },
    computed: {
      swiper() {
        return this.$refs.mySwiper.swiper
      }
    },
    mounted() {
      // current swiper instance
      // 然后你就可以使用当前上下文内的swiper对象去做你想做的事了
      console.log('this is current swiper instance object', this.swiper)
      this.swiper.slideTo(3, 1000, false)
    }
  }
</script>
import VueAwesomeSwiper from 'vue-awesome-swiper'
const { swiper, swiperSlide } = VueAwesomeSwiper

or

const { swiper, swiperSlide } = require('vue-awesome-swiper').default

I will fix it in v3.0.1 .

Thank you very much for the fast response. I appreciate it.

It resolved.

Thanks! It works now.

Was this page helpful?
0 / 5 - 0 ratings