跟着老师做的,但是有一些错误
来源:2-2 幻灯片组件--模拟数据
Edward666
2020-03-18 16:11:01
这是报错信息。
还有一个问题是我给sliderOption中的direction设置值为vertical。怎么不生效啊?还是水平切换到
4回答
好帮手慕码
2020-03-18
同学你好,问题已经找到了吧?!同学可以自己找到问题很棒哦,继续加油,祝学习愉快~
Edward666
提问者
2020-03-18
基础组件slider:
<template>
<!-- swiper组件 -->
<swiper v-bind:options="swiperOption">
<!-- slot插槽增加灵活度 -->
<slot></slot>
<!-- 图片指示器小点 -->
<div class="swiper-pagination" v-if="pagination" slot="pagination"></div>
</swiper>
</template>
<script>
import {swiper,swiperSlide} from 'vue-awesome-swiper';//引入开发依赖vue-awesome-swiper
export default {
name: 'MeSlider',
//组件注册
components: {
swiper,
swiperSlide
},
//组件slider的接收参数
props: {
direction: {//决定幻灯片的方向
type: String,
default: 'horizontal',
validator(value) {//验证传递过来的direction参数是否可用.返回true可用
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,//只有一个swiper-slide时轮播器swiper失效
direction: this.direction,//this.direction是通过接收的参数direction
autoplay: this.interval? {//当接收的参数interval大于0时开启自动轮播
delay: this.interval,
disableOnInteration:false//有交互时是否停止自动轮播
} : false,
slidesPerView: 1,//slider容器同时显示图片的数量
loop: this.loop,
pagination: {//是否显示分页器
el: this.pagination? '.swiper-pagination' : null
}
}
}
}
}
</script>
<style lang="scss" scoped>
.swiper-container {
width: 100%;
height: 100%;
}
</style>页面组件slider:
<template>
<div class="slider-wrapper">
<MeSlider :direction="diction" :loop="loop" :interval="interval" :pagination="pagination">
<swiper-slide v-for="(item,index) in sliders" v-bind:key="index">
<a :href="item.linkUrl" class="slider-link">
<img :src="item.picUrl" class="slider-img">
</a>
</swiper-slide>
</MeSlider>
</div>
</template>
<script>
import MeSlider from 'base/slider';
import {swiper,swiperSlide} from 'vue-awesome-swiper';
import {sliderOption} from './config';
export default {
name: 'HomeSlider',
components: {
MeSlider,
swiper,
'swiper-slide':swiperSlide
},
data() {
return {
direction: sliderOption.direction,
loop: sliderOption.loop,
interval: sliderOption.interval,
pagination: sliderOption.pagination,
sliders: [
{
'linkUrl':'https://www.imooc.com',
'picUrl':require('./1.jpg')//本地图片一定要通过require()引入
},
{
'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 lang="scss" scoped>
.slider-wrapper {
height: 183px;
}
.slider-link {
display: block;
}
.slider-link,
.slider-img {
width: 100%;
height: 100%;
}
</style>
好帮手慕码
2020-03-18
同学你好,可以看下是否是属性的单词写错了:

如果确认没有问题的话,可以将相关的代码粘贴到问答区进行问题,以便准确的帮助同学测试。祝学习愉快~
Edward666
提问者
2020-03-18
有点急啊,老师可以快一点帮我解答问题吗?
相似问题