老师帮忙看下,一秒后loading页面消失了跟视频不一样

老师帮忙看下,一秒后loading页面消失了跟视频不一样

//slide.vue
<template>
  <div class="slider-wapper">
    <me-loading v-if="!sliders.length"/>
    <!-- <me-slider
      :data="sliders"
      :direction="direction"
      :loop="loop"
      :interval="interval"
      :pagination="pagination"
       v-if="sliders.length"
      >
      <swiper-slide
          v-for="(item, index) in sliders"
          :key="index"
        >
        <a :href="item.linkUrl" alt="" class='slider-link'>
          <img :src="item.picUrl" alt="" class='slider-img'>
        </a>
      </swiper-slide>
    </me-slider> -->
  </div>
</template>

<script>
    import MeSlider from 'base/slider';
   import {swiperSlide} from 'vue-awesome-swiper';
   import {sliderOptions} from './config';
  import {getHomeSlider} from 'api/home';
  import MeLoading from 'base/loading';


    export default {
      name: 'HomeSlider',
      components:{
        MeSlider,
        swiperSlide,
        MeLoading
      },
      data(){
        return{
          direction: sliderOptions.direction,
          loop: sliderOptions.loop,
          interval: sliderOptions.interval,
          pagination: sliderOptions.pagination,
          
          sliders: []
         
        }
      },
      created(){
        this.getSliders()
      },
      methods:{
       getSliders() {
         getHomeSlider().then(data =>{
           this.sliders = data;
         });
       }
      }
      
    }
</script>

<style lang="scss" scoped>
  
  .slider-wapper {
    width: 100%;
    height: 183px;
  }

  .slider-link {
    display: block;
  }

  .slider-link,
  .slider-img {
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
</style>

//loading/index.vue

<template>
  <div class="mine-loading">
      <span class="mine-loading-indicator" v-if="indicator==='on'">
          <slot><img src="./loading.gif" alt="loading"></slot>
      </span>
      <span class="mine-loading-text" v-if="text">{{text}}</span>
  </div>
</template>

<script>
export default {
  name: 'MeLoading',
  props:{
        indicator: {
        type: String,
        default: 'on',
        validator(value) {
          return ['on', 'off'].indexOf(value) > -1;
        }
      },
      text:{
          type:String,
          default:'加载中...'
      }
  }

}

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

    .mine-loading{
      overflow:hidden;
      width: 100%;
      height:100%;
      @include flex-center(column)
    }
    .mine-loading-indicator ~ .mine-loading-text{
        margin-top: 6px;
    }
 
</style>


正在回答 回答被采纳积分+1

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

2回答
好帮手慕言 2020-03-15 17:17:56

同学你好,loading消失是正常的,loading消失之后,轮播图应该显示。按照上次回复中修改就可以了,

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

如果想让loading一直存在,那么不给sliders赋值即可。

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

祝学习愉快~

好帮手慕言 2020-03-15 15:56:31

同学你好,loading组件显示的判断条件是!sliders.length,如果sliders有值了,那么loading图片就会消失,把注释的代码解除注释就和老师的效果一样了,如下:
http://img1.sycdn.imooc.com//climg/5e6ddf5109775d0e07150721.jpg

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

  • 您好,上面的代码已经注释了me-slider,但还是会1秒后消失loading。找了好久没找到问题出在哪...
    2020-03-15 16:28:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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