vue slick carousel Uncaught (in promise) TypeError: this.$slots.default is undefined

时间:2021-07-06 15:46:08

标签: javascript vue.js vue-component

你好,我想在 vue 组件中添加一个带有 vue slick carousel 的 carousel 像这样

<vue-slick-carousel
          v-if="groupOne && groupOne.length > 0"
          v-bind="settings"
        >
          <component
            :is="picture.template"
            v-for="picture in groupOne"
            :key="picture.title"
            :params="picture"
            :size="params.size"
            @click="onClick(picture)"
          />
        </vue-slick-carousel>
<script>
import 'vue-slick-carousel/dist/vue-slick-carousel.css';
export default{
 components: {
    VueSlickCarousel: () => import('vue-slick-carousel'),
}
data() {
    return {
      settings: {
        arrows: true,
        slidesToShow: 1,
        lazyLoad: 'ondemand',
        autoplay: true
      }
    };
  },
}
</script>

不起作用,我的控制台中有此错误

未捕获(承诺)类型错误:this.$slots.default 未定义

请帮帮我!

1 个答案:

答案 0 :(得分:1)

问题似乎来自动态导入,请尝试使用正常导入,例如:

<vue-slick-carousel
          v-if="groupOne && groupOne.length > 0"
          v-bind="settings"
        >
          <component
            :is="picture.template"
            v-for="picture in groupOne"
            :key="picture.title"
            :params="picture"
            :size="params.size"
            @click="onClick(picture)"
          />
        </vue-slick-carousel>
<script>
import 'vue-slick-carousel/dist/vue-slick-carousel.css';
import VueSlickCarousel from 'vue-slick-carousel'

export default{
 components: {
    VueSlickCarousel
},
data() {
    return {
      settings: {
        arrows: true,
        slidesToShow: 1,
        lazyLoad: 'ondemand',
        autoplay: true
      }
    };
  },
}
</script>