最近做到的项目里面需要广告公告上下滚动,网上也找了很多例子,效果总是不理想,所以就想着利用轮播图的竖直方向的滚动来实现这个效果
一、在项目里面安装swiper插件
通过npm安装: npm install vue-awesome-swiper --save
二、在main.js里面引入
import 'swiper/dist/css/swiper.css'
import VueAwesomeSwiper from 'vue-awesome-swiper'
Vue.use(VueAwesomeSwiper)
<template>
<!-- <div class="page"> -->
<div class="main">
<div class="main_con">
<div class="nwwest-roll">
<swiper class="roll-ul" :options="swiperOption" ref="mySwiper" v-if="topMovieLists.length>0" >
//父容器里面的v-if="topMovieList.length>0"是必须写的,否则将不起作用
<swiper-slide v-for="(item,index) in topMovieLists" :key="index" >
//这里放着每个列表里面的内容
</swiper-slide>
</swiper>
</div>
</div>
</div>
</div>
<!-- </div> -->
</template>
<script>
let vm = null;
import { swiper, swiperSlide } from 'vue-awesome-swiper'
import Vue from 'vue';
export default {
name: 'Home',
components: {
Empty,
ProjectList,
swiper,
swiperSlide
},
data() {
return {
swiperOption: {
notNextTick: true,
direction: "vertical", //控制滚动的方向
paginationClickable: true,
autoplay: {
delay:2000 //这里需要注意,如果想每2秒去自动切换,直接autoplay:2000是失效的,
},
loop: true,
on:{
click:function(e){
//注意点:想要给滚动的列表的每一项加上点击事件,需要在这个回调里面进行,否则不起作用
let realIndex = this.realIndex;
// console.log(e,'轮播')
vm.jumpDesc(realIndex) //这里调用的是定义在methods里面的方法
}
}
},
topMovieLists: [], //影视头条列表
}
},
mounted() {
},
created() {
vm = this;
},
methods: {
}
}
</script>