文章目录

  • 1.引入swiper.vue组件
    • 目的
    • 步骤
    • 结果
  • 2.把swiper-slide做成匿名插槽
  • 3.Film.vue中通过axios请求获取后台轮播图片
    • 目的
    • 步骤
    • 因为现在原网站已取消轮拨图模块,只能使用其他图片替代

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

2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式相关推荐

  1. 2021-11-27 vue移动端卖座电影项目(二) 封装选项卡,引入iconfont,nowPlaying获取数据后写样式

    文章目录 1.封装选项卡 2.设置iconfont 3.nowPlaying获取数据后写样式 3.1.获取后台数据 3.2.从data对象获取电影海报,标题,评分 3.3.过滤data.actor,获 ...

  2. 2022-11-17 vue移动端卖座电影项目(一) 获取后台数据

    0.目标网页 卖座电影 1.获取url数据 位置:网络>复制>复制链接地址 2.获取电影列表数据 字段获取:网络>标头>请求标头> 3.代码 views/nowPlayi ...

  3. 2021-11-30 vue移动端卖座电影项目(四) 当前项目代码

    文章目录 0.目录和package.json依赖 1.src/assets/iconfont(文件夹) 2.src/components/tabbar.vue 3.router/index.js 4. ...

  4. 2021-12-09 vue移动端卖座电影项目(九) 使用事件总线EvenetBus控制选项卡tabbar的显隐(进入入详情页时隐藏)

    文章目录 0.事件总线复习 1.显隐逻辑 2.Detail.vue和它要控制的tabbar.vue不是父子关系 3.使用中央事件总线来控制 4.效果 0.事件总线复习 2021-10-21 vue笔记 ...

  5. 2021-12-02 vue移动端卖座电影项目(五) 封装Film下的二级路由,FilmHeader实现吸顶效果

    文章目录 1.封装Film下的二级路由 目的/效果 步骤 2.让FilmHeader.vue实现向下滑动时的吸顶效果(固钉效果) 思路 步骤 最终效果 3.离开Film页面时取消触发handleScr ...

  6. 2021-12-07 vue移动端卖座电影项目(七) 封装轮拨组件,使之可用于详情页Detail,实现演职员表的轮拨和剧照的轮拨

    文章目录 0.实现效果 1.封装详情页的轮拨组件DetailSwiper 2.perView:显示张数设置为动态,两个轮拨图分别初始化的方法:重命名并获取当前的class名 3.最终代码和效果 代码 ...

  7. 2021-12-14 vue移动端卖座电影项目(十二) 使用mapState控制封装选项卡tabbar的显隐,以及回顾使用中央事件总线eventbus和vuex的state控制tabbar显隐的异同

    文章目录 0.实现场景:进入详情页时,底部选项卡隐藏 1.使用中央事件总线控制tabbar的v-show的值 2.使用vuex的state控制tabbar的v-show的值 3.使用vuex的muta ...

  8. 2021-12-11 vue移动端卖座电影项目(十一) comingSoon用后台获取的数据写样式,以及用vuex的Action处理异步问题:切换FilmHeader中的两个标签时直接缓存数据

    文章目录 0.vuex工作流程图复习 1.思路 2.axios获取后台数据(仿nowPlaying页即可) 3.用vuex的Action处理异步问题:切换FilmHeader中的"正在热映& ...

  9. 2021-12-10 vue移动端卖座电影项目(十) 使用状态管理模式vuex的state控制选项卡tabbar的显隐,mutation的用法,this.$store.commit()的两个参数

    文章目录 0.vuex复习 1.引入 2.在state中存showTabbar后,直接可以引用 3.在Detail.vue的两个钩子函数中设置控制showTabbar的布尔值 4.效果:实现进入详情页 ...

最新文章

  1. ViT(vision transformer)原理快速入门
  2. 5G时代,智能工厂迎来4大改变!
  3. BGP建立邻居的详细过程
  4. AC日记——食物链 codevs 1047
  5. 安装docker遇到的坑 Could not resolve host: download.docker.com;
  6. hadoop0.20.0第一个例子
  7. 【架构设计】Android:配置式金字塔架构
  8. ios 平滑移动view_iOS 关于列表上拉(平滑加载数据)自动加载数据的问题
  9. qtreeview编辑节点文本_[我花2个月做了叙事短篇游戏]我是怎么做游戏编辑工具的...
  10. 2021 年百度之星·程序设计大赛 - 初赛二 1005 水题(贪心结论)
  11. PHP大文件分割上传(分片上传)
  12. SLAM--DBow3
  13. python win32 替换效率低_python win32.api pyhook ShellExecute 编写自用windows系统快捷键工具,提升工作效率,提升编码效率...
  14. 协议将电子邮件交付服务器,什么协议用于将电子邮件交付给Internet上的邮件服务器?...
  15. Thinkpad E430c使用u盘安装系统
  16. AIDL简单实用新手教程(AIDL 包含回调,耗时处理,in out inout oneway使用、打包jar等内容) 附demo下载
  17. matlab中contourm,MATLAB 中contour函数的使用
  18. iOS应用开发入门(1)——第一个iOS应用
  19. 解决mysqld: [ERROR] Found option without preceding group in
  20. PHP随机生成英文大小写

热门文章

  1. 兰州大学最新预测:新冠大流行将于2023年底结束
  2. Express Pi 嵌入式开发板
  3. 2020年新版Java学习路线图最全更新!囊括史上最全面104个知识点
  4. VMware虚拟机的三种网络连接模式的特点
  5. 王道 操作系统听课笔记整理
  6. AttributeError: Layer my_model has no inbound nodes.
  7. Jenkins+ansible+Tomcat实现项目远程自动部署
  8. linux下用户和组的管理,linux用户和组管理常见命令
  9. 驾图车联网:区块链重塑汽车大数据的价值链和生态链
  10. 三维FEM的刚度矩阵数量级