一.VueAwesomeSwiper
是一个vue插件,可以实现banner的幻灯片播放的功能
目前主流版本:
代码语言:javascript复制5.0.1 五个月前发布 vue3
4.1.1 vue2
3.1.3 vue2
2.3.7 vue2
一定要看好swiper的版本和你的vue版本是否对应,不然铁定踩坑,本人就是这么过来的
然后就是安装,这里我们安装3.1.3版本的
代码语言:javascript复制npm install vue-awesome-swiper@3.1.3
然后在nuxt项目的plugins文件夹中新建文件:
代码语言:javascript复制nuxt-swpier-plugin.js
然后键入以下内容:
代码语言:javascript复制import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'
Vue.use(VueAwesomeSwiper, /* { default options with global component } */)
上述内容就是对swiper的一个全局注册
然后我们就可以使用了
在index.vue中引入:
代码语言:javascript复制export default {
data () {
return {
swiperOption: {
//配置分页
pagination: {
el: '.swiper-pagination'//分页的dom节点
},
//配置导航
navigation: {
nextEl: '.swiper-button-next',//下一页dom节点
prevEl: '.swiper-button-prev'//前一页dom节点
}
},
//banner数组
bannerList:[],
eduList:[],
teacherList:[]
}
},
created() {
//调用查询banner的方法
this.getBannerList()
//调用查询热门课程和名师的方法
this.getHotCourseTeacher()
},
computed:{
swiper(){
return this.$refs.mySwiper.swiper
}
},
methods:{
//查询热门课程和名师
getHotCourseTeacher() {
index.getIndexData()
.then(response => {
this.eduList = response.data.data.eduList
this.teacherList = response.data.data.teacherList
})
},
//查询banner数据
getBannerList() {
banner.getListBanner()
.then(response => {
this.bannerList = response.data.data.list
})
}
}
}
</script>
然后再写我们的template部分:
代码语言:javascript复制<!-- 幻灯片 开始 -->
<swiper :options="swiperOption" ref="mySwiper">
<!-- slides -->
<div v-for="banner in bannerList" :key="banner.id" class="swiper-slide" style="background: #040B1B;">
<swiper-slide>
<a target="_blank" :href="banner.linkUrl">
<img :src="banner.imageUrl" :alt="banner.title">
</a>
</swiper-slide>
</div>
<!-- Optional controls -->
<div class="swiper-pagination" slot="pagination"></div>
<div class="swiper-button-prev" slot="button-prev"></div>
<div class="swiper-button-next" slot="button-next"></div>
<div class="swiper-scrollbar" slot="scrollbar"></div>
</swiper>
swagger接口测试成功:
前端定义接口:
新建api目录,在api目录里新建banner.js文件
代码语言:javascript复制import request from "@/utils/request";
export default {
getListBanner(){
return request({
url:'/educms/bannerfront/getAllBannerT',
method:'get'
})
}
}
nuxt前端展示成功