文章目录
1.引入swiper.vue组件
目的
在Film中插入一个轮拨图
步骤
- 创建views/Film/Swiper.vue
<template>
<!-- 重命名为filmswiper:目的是有多个轮拨时便于识别 -->
<div class="swiper-container filmswiper">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
</div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
</div>
</template>
<script>
// 引入Swiper的js和css
import Swiper from "swiper" //js
import "swiper/css/swiper.min.css"//css
export default {
mounted() {
new Swiper(".filmswiper",{
loop: true,
//自动轮拨
autoplay:{
delay:2000
},
// 显示分页
pagination: {
el: ".swiper-pagination",
},
})
}
};
</script>
- 引入swiper样式
文件位置:vue项目文件中:node_modules/swiper/css/swiper.min.css
不同版本的Swiper的文件夹结构可能不一样,
总之就是在swiper文件夹下找到swiper.min.css文件即可

- views/FIlm.vue
<template>
<div>
<!-- 在Film中插入一个轮拨 -->
<swiper></swiper>
<div>二级声明式导航:film</div>
<router-view></router-view>
</div>
</template>
<script>
// 导入Swiper.vue组件
import swiper from "./Film/Swiper"
export default {
components:{
// 注册
swiper
}
}
</script>
结果

2.把swiper-slide做成匿名插槽
Swiper.vue
<template>
<div class="swiper-container filmswiper">
<div class="swiper-wrapper">
<slot></slot>
<!-- <div class="swiper-slide">Slide 1</div> -->
<!-- <div class="swiper-slide">Slide 2</div> -->
<!-- <div class="swiper-slide">Slide 3</div> -->
</div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
</div>
</template>
Film.vue
<template>
<div>
<swiper>
<div class="swiper-slide" v-for="n in 5" :key="n">Slide{{n}}</div>
</swiper>
</div>
</template>
3.Film.vue中通过axios请求获取后台轮播图片
目的
获取后台轮播图片,并在Film.vue的轮拨图中插入图片
步骤
Film.vue
- 获取后台图片
script
// 引入axios
import axios from "axios"
export default {
data:function(){
return{
looplist:[]
}
},
components:{
// 注册
swiper
},
mounted(){
//此处是重复从后台获取数据的过程:
// 网络>复制>复制链接地址
// axios.get("https://m.maizuo.com/gateway?cityId=310100&pageNum=1&pageSize=10&type=1&k=2318535")
// 使用axios的完整写法配置字段
/*字段获取:网络>标头>请求标头>
X-Client-Info: {"a":"3000","ch":"1002","v":"5.2.1","e":"16662641254110824868151297"}
X-Host: mall.film-ticket.film.list */
axios({
url:"",
headers:{
"X-Client-Info": '{"a":"3000","ch":"1002","v":"5.2.1","e":"16662641254110824868151297"}',
"X-Host": 'mall.film-ticket.film.li'
}
}).then(res=>{
console.log("我是looplist:",res.data);
this.looplist=res.data.data;
})
}
}
- 插入图片
template:
<!-- <div class="swiper-slide" v-for="n in 5" :key="n">Slide{{n}}</div> -->
<div class="swiper-slide" v-for="data in looplist" :key="data.bannerId">{{n}}
<img :src="data.imgUrl"/>
</div>
</swiper>`
因为现在原网站已取消轮拨图模块,只能使用其他图片替代
最后的代码为:
Swiper.vue
<template>
<!-- 重命名为filmswiper -->
<div class="swiper-container filmswiper">
<div class="swiper-wrapper">
<!-- <slot></slot> -->
<div class="swiper-slide"><img src="https://pic.maizuo.com/usr/2022/f6bef612cf73976c8bafeed2500a4f78.jpg" alt=""></div>
<div class="swiper-slide"><img src="https://pic.maizuo.com/usr/2022/e302538b376615750f5a4e3c660990be.jpg" alt=""></div>
<div class="swiper-slide"><img src="https://pic.maizuo.com/usr/2022/d80940fa8ba6f721f913f48d3490a465.jpg" alt=""></div>
<div class="swiper-slide"><img src="https://pic.maizuo.com/usr/2022/9fcfd07a00a434ecadfd11aea99cade4.jpg" alt=""></div>
<div class="swiper-slide"><img src="https://pic.maizuo.com/usr/2022/60015ebeea5a25376639fe3517590280.jpg" alt=""></div> </div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
<!-- 分页器写在旁边:取新类名并设置样式 -->
</div>
</template>
<script>
// 引入Swiper
import Swiper from "swiper" //js
import "swiper/css/swiper.min.css"//css
export default {
mounted() {
console.log("swiper-mounted");
new Swiper(".filmswiper",{
loop: true,
//自动轮拨
autoplay:{
delay:2000
},
// 显示分页
pagination: {
el: ".swiper-pagination",
},
})
}
};
</script>
<style lang="scss" scoped>
img{
width: 100%;
}
</style>
Film.vue
<template>
<div>
<!-- 在Film中插入一个轮拨 -->
<swiper></swiper>
<router-view></router-view>
</div>
</template>
<script>
// 导入Swiper.vue组件
import swiper from "./Film/Swiper"
export default {
components:{
// 注册
swiper
}
}
</script>
结果:http://localhost:8081/#/Film/nowPlaying

本文介绍了如何在Vue移动端项目中使用Swiper插件创建轮播图。首先,引入Swiper.vue组件,并在Film.vue中通过axios请求获取后台轮播图片数据。由于原网站取消了轮播图模块,故使用替代图片。详细步骤包括组件创建、匿名插槽应用以及数据插入到模板中。
2414

被折叠的 条评论
为什么被折叠?



