2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式
文章目录
- 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页面设置样式相关推荐
- 2021-11-27 vue移动端卖座电影项目(二) 封装选项卡,引入iconfont,nowPlaying获取数据后写样式
文章目录 1.封装选项卡 2.设置iconfont 3.nowPlaying获取数据后写样式 3.1.获取后台数据 3.2.从data对象获取电影海报,标题,评分 3.3.过滤data.actor,获 ...
- 2022-11-17 vue移动端卖座电影项目(一) 获取后台数据
0.目标网页 卖座电影 1.获取url数据 位置:网络>复制>复制链接地址 2.获取电影列表数据 字段获取:网络>标头>请求标头> 3.代码 views/nowPlayi ...
- 2021-11-30 vue移动端卖座电影项目(四) 当前项目代码
文章目录 0.目录和package.json依赖 1.src/assets/iconfont(文件夹) 2.src/components/tabbar.vue 3.router/index.js 4. ...
- 2021-12-09 vue移动端卖座电影项目(九) 使用事件总线EvenetBus控制选项卡tabbar的显隐(进入入详情页时隐藏)
文章目录 0.事件总线复习 1.显隐逻辑 2.Detail.vue和它要控制的tabbar.vue不是父子关系 3.使用中央事件总线来控制 4.效果 0.事件总线复习 2021-10-21 vue笔记 ...
- 2021-12-02 vue移动端卖座电影项目(五) 封装Film下的二级路由,FilmHeader实现吸顶效果
文章目录 1.封装Film下的二级路由 目的/效果 步骤 2.让FilmHeader.vue实现向下滑动时的吸顶效果(固钉效果) 思路 步骤 最终效果 3.离开Film页面时取消触发handleScr ...
- 2021-12-07 vue移动端卖座电影项目(七) 封装轮拨组件,使之可用于详情页Detail,实现演职员表的轮拨和剧照的轮拨
文章目录 0.实现效果 1.封装详情页的轮拨组件DetailSwiper 2.perView:显示张数设置为动态,两个轮拨图分别初始化的方法:重命名并获取当前的class名 3.最终代码和效果 代码 ...
- 2021-12-14 vue移动端卖座电影项目(十二) 使用mapState控制封装选项卡tabbar的显隐,以及回顾使用中央事件总线eventbus和vuex的state控制tabbar显隐的异同
文章目录 0.实现场景:进入详情页时,底部选项卡隐藏 1.使用中央事件总线控制tabbar的v-show的值 2.使用vuex的state控制tabbar的v-show的值 3.使用vuex的muta ...
- 2021-12-11 vue移动端卖座电影项目(十一) comingSoon用后台获取的数据写样式,以及用vuex的Action处理异步问题:切换FilmHeader中的两个标签时直接缓存数据
文章目录 0.vuex工作流程图复习 1.思路 2.axios获取后台数据(仿nowPlaying页即可) 3.用vuex的Action处理异步问题:切换FilmHeader中的"正在热映& ...
- 2021-12-10 vue移动端卖座电影项目(十) 使用状态管理模式vuex的state控制选项卡tabbar的显隐,mutation的用法,this.$store.commit()的两个参数
文章目录 0.vuex复习 1.引入 2.在state中存showTabbar后,直接可以引用 3.在Detail.vue的两个钩子函数中设置控制showTabbar的布尔值 4.效果:实现进入详情页 ...
最新文章
- ViT(vision transformer)原理快速入门
- 5G时代,智能工厂迎来4大改变!
- BGP建立邻居的详细过程
- AC日记——食物链 codevs 1047
- 安装docker遇到的坑 Could not resolve host: download.docker.com;
- hadoop0.20.0第一个例子
- 【架构设计】Android:配置式金字塔架构
- ios 平滑移动view_iOS 关于列表上拉(平滑加载数据)自动加载数据的问题
- qtreeview编辑节点文本_[我花2个月做了叙事短篇游戏]我是怎么做游戏编辑工具的...
- 2021 年百度之星·程序设计大赛 - 初赛二 1005 水题(贪心结论)
- PHP大文件分割上传(分片上传)
- SLAM--DBow3
- python win32 替换效率低_python win32.api pyhook ShellExecute 编写自用windows系统快捷键工具,提升工作效率,提升编码效率...
- 协议将电子邮件交付服务器,什么协议用于将电子邮件交付给Internet上的邮件服务器?...
- Thinkpad E430c使用u盘安装系统
- AIDL简单实用新手教程(AIDL 包含回调,耗时处理,in out inout oneway使用、打包jar等内容) 附demo下载
- matlab中contourm,MATLAB 中contour函数的使用
- iOS应用开发入门(1)——第一个iOS应用
- 解决mysqld: [ERROR] Found option without preceding group in
- PHP随机生成英文大小写
热门文章
- 兰州大学最新预测:新冠大流行将于2023年底结束
- Express Pi 嵌入式开发板
- 2020年新版Java学习路线图最全更新!囊括史上最全面104个知识点
- VMware虚拟机的三种网络连接模式的特点
- 王道 操作系统听课笔记整理
- AttributeError: Layer my_model has no inbound nodes.
- Jenkins+ansible+Tomcat实现项目远程自动部署
- linux下用户和组的管理,linux用户和组管理常见命令
- 驾图车联网:区块链重塑汽车大数据的价值链和生态链
- 三维FEM的刚度矩阵数量级