还是没找到问题

还是没找到问题

http://img1.sycdn.imooc.com//climg/5ea001d709474bfb09420380.jpg

源码因为已经写到后面的阶段了,所以无法比对

还是麻烦老师了

home/index.vue

----------------------------------------------------------------------------------

<template>
 <div class="home">
   <div class="g-header-container">
     <home-header></home-header>
   </div>
   <div>
     <home-slider></home-slider>
   </div>
   <div class="g-backTop-container"></div>
    <router-view></router-view>
 </div>
</template>

<script>
import HomeHeader from './header';
import HomeSlider from './slider';
export default {
   name: 'Home',
components: {
     HomeHeader,
HomeSlider
   }
 };
</script>

<style lang="scss" scoped>
@import '~assets/scss/mixins';

.home {
   overflow:hidden;
width: 100%;
height: 100%;
background-color:$bgc-theme;
}
</style>


base/slider.vue

----------------------------------------------------------------------------------

<!-- home-slider业务组件 -->
<template>
 <me-slider
   :direction="direction"
   :loop = true
   :interval = "interval"
   :pagination = "pagination"
 >
   <swiper-slide
     v-for="(item ,index) in sliders"
     :key="index"
   >
     <a :href="item.linkUrl" class="slider-link">
       <img :src="item.picUrl" class="slier-img" alt="">
     </a>
   </swiper-slide>
 </me-slider>
</template>

<script>
 /* 引入基础组件 */
 import MeSlider from 'base/slider';
 import swiperSlider from 'vue-awesome-swiper';
 export default {
   name: 'HomeSlider',
   components: {
     MeSlider,
     swiperSlider
   },
   data() {
     return {
       direction: 'vertical',
       loop: false,
       interval: 0,
       pagination: false,
       sliders: [
         {
           'linkUrl': 'https://www.imooc.com',
           'picUrl': require('./1.jpg')
         },
         {
           'linkUrl': 'https://www.imooc.com',
           'picUrl': require('./2.jpg')
         },
         {
           'linkUrl': 'https://www.imooc.com',
           'picUrl': require('./3.jpg')
         },
         {
           'linkUrl': 'https://www.imooc.com',
           'picUrl': require('./4.jpg')
         }
       ]
     };
   }
 };
</script>

<style scoped>

</style>


slider/index.vue

---------------------------------------------------------------------------------------------

<!-- slider基础组件 -->
<template>
 <swiper :options="swiperOption">
<!--基础组件不能写死,放个插槽由调用它的页面决定它的内容-->
<slot></slot>
   <div class="swiper-pagination" v-if="pagination" slot="pagination"></div>
 </swiper>
</template>

<script>
import {swiper} from 'vue-awesome-swiper';
export default {
   name: 'MeSlider',
components: {
     swiper

   },
/* 接收参数 */
props: {
     direction: {
       type: String,
default: 'horizontal',
validator(value) {
         return [
           'horizontal',
'vertical'
].indexOf(value) > -1;
}
     },
interval: {
       type: Number,
default: 3000,
validator(value) {
         return value >= 0;
}
     },
loop: {
       type: Boolean,
default: true
},
pagination: {
       type: Boolean,
default: true
}
   },
data() {
     return {
       swiperOption: {
         watchOverflow: true, // 只有一个slider,swiper会失效
direction: this.direction,
autoplay: this.interval ? { // 有interval才开启自动轮播
delay: this.interval,
disableOnInteraction: false // 一旦有交互就停止自动轮播
} : false,
slidesPerView: 1,
loop: this.loop,
pagination: {
           el: this.pagination ? '.swiper-pagination' : null
}
       }
     };
}
 };
</script>

<style lang="scss" scoped>

</style>

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,在遇到报错时,可以根据报错的提示去尝试解决。大概意思是<swiper-slide>这个组件是不是正确注册了。(如果不懂,也可以去网上翻译一下哦,培养自己独立解决问题的能力)

http://img1.sycdn.imooc.com//climg/5ea0147b09ac551006730282.jpg

所以要去注册组件的地方检查一下,使用的这个组件到底有没有注册。检查的时候就会发现,原来调用时,没有写对组件名。

http://img1.sycdn.imooc.com//climg/5ea014ff0979798c06180587.jpg

把slide为slider。

http://img1.sycdn.imooc.com//climg/5ea015770976bb0d03780231.jpg

另外,因为同学的代码不全,部分代码在源码中运行不了。老师上面只是解决了你截图的报错,如果改了之后还有问题,可以在问答区提问,老师还会为你指导的。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 10hours 提问者 #1
    这个问题我找到了,但是还是没能解决,依然报错,我重新提问吧
    2020-04-22 18:27:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师