2021-12-08 vue移动端卖座电影项目(八) 获取后台电影院数据,使用BetterScroll为电影院页面Cinema.vue设置滚动效果
文章目录
- 1.使用axios获取后台数据
- 2.把影院名遍历到页面中
- 3.better-scroll
- 3.1.安装命令`cnpm install --save better-scroll`
- 3.2. 引入和使用
- 4.使用Best-Scroll实现效果更好的滚动
- 4.1.$nextTick
- 4.2.增加滚动惯性
- 5.把显示高度设置为动态
- 6.完整代码
1.使用axios获取后台数据
Cinema.vue
mounted() {axios({url:"https://m.maizuo.com/gateway?cityId=310100&ticketFlag=1&k=9269636",headers:{'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"16662641254110824868151297"}','X-Host': 'mall.film-ticket.cinema.list'}}).then(res=>{console.log("获取影院数据",res.data.data.cinemas);})}
输出:
2.把影院名遍历到页面中
Cinema.vue
<template><div><ul><li v-for="data in datalist" :key="data.cinemaId">{{data.name}}</li></ul></div>
</template>
<script>
import axios from "axios"
export default {data() {return {datalist:[]};},mounted() {axios({url:"https://m.maizuo.com/gateway?cityId=310100&ticketFlag=1&k=9269636",headers:{'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"16662641254110824868151297"}','X-Host': 'mall.film-ticket.cinema.list'}}).then(res=>{// console.log("获取影院数据",res.data.data.cinemas);this.datalist=res.data.data.cinemas;})}
};
</script>
<style lang="scss" scoped>
li{height: 50px;
}
</style>
效果
3.better-scroll
3.1.安装命令cnpm install --save better-scroll
3.2. 引入和使用
// 引入BetterScrollimport BetterScroll from "better-scroll"...//使用new BetterScroll(".cinema");
4.使用Best-Scroll实现效果更好的滚动
4.1.$nextTick
vue中的nextTick主要用于处理数据动态变化后,DOM还未及时更新的问题,用nextTick就可以获取数据更新后最新DOM的变化
4.2.增加滚动惯性
axios({...}).then(res=>{// console.log("获取影院数据",res.data.data.cinemas);this.datalist=res.data.data.cinemas;//nextTick:获取数据更新后最新DOM的变化(处理:数据动态变化后,DOM还未及时更新)this.$nextTick(()=>{// 调用betterscrollnew BetterScroll(".cinema",{//效果:增加了滚动惯性fade:true,interactive:false});})
5.把显示高度设置为动态
//html<div class="cinema" :style="mystyle">...</div>...//javsscriptexport default {data() {return {datalist:[],// 动态设置和改变高度mystyle:{height:"0px"}};},mounted() {console.log("页面高度是:",document.documentElement.clientHeight);this.mystyle.height=document.documentElement.clientHeight-50+"px";}}
6.完整代码
Cinema.vue
<template><div class="cinema" :style="mystyle"><ul><li v-for="data in datalist" :key="data.cinemaId">{{data.name}}</li></ul></div>
</template>
<script>
import axios from "axios"
// 引入BetterScrollimport BetterScroll from "better-scroll"
export default {data() {return {datalist:[],// 动态设置和改变高度mystyle:{height:"0px"}};},mounted() {console.log("页面高度是:",document.documentElement.clientHeight);this.mystyle.height=document.documentElement.clientHeight-50+"px";axios({url:"https://m.maizuo.com/gateway?cityId=310100&ticketFlag=1&k=9269636",headers:{'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"16662641254110824868151297"}','X-Host': 'mall.film-ticket.cinema.list'}}).then(res=>{// console.log("获取影院数据",res.data.data.cinemas);this.datalist=res.data.data.cinemas;//nextTick:获取数据更新后最新DOM的变化(处理:数据动态变化后,DOM还未及时更新)this.$nextTick(()=>{// 调用betterscrollnew BetterScroll(".cinema",{//效果:增加了滚动惯性fade:true,interactive:false});})});}
};
</script>
<style lang="scss" scoped>
li{height: 50px;
}
.cinema{// height: 500px;// 把高度设置为动态overflow: hidden;position: relative;
}
</style>
2021-12-08 vue移动端卖座电影项目(八) 获取后台电影院数据,使用BetterScroll为电影院页面Cinema.vue设置滚动效果相关推荐
- 2022-11-17 vue移动端卖座电影项目(一) 获取后台数据
0.目标网页 卖座电影 1.获取url数据 位置:网络>复制>复制链接地址 2.获取电影列表数据 字段获取:网络>标头>请求标头> 3.代码 views/nowPlayi ...
- 2021-11-27 vue移动端卖座电影项目(二) 封装选项卡,引入iconfont,nowPlaying获取数据后写样式
文章目录 1.封装选项卡 2.设置iconfont 3.nowPlaying获取数据后写样式 3.1.获取后台数据 3.2.从data对象获取电影海报,标题,评分 3.3.过滤data.actor,获 ...
- 2021-11-30 vue移动端卖座电影项目(四) 当前项目代码
文章目录 0.目录和package.json依赖 1.src/assets/iconfont(文件夹) 2.src/components/tabbar.vue 3.router/index.js 4. ...
- 2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式
文章目录 1.引入swiper.vue组件 目的 步骤 结果 2.把swiper-slide做成匿名插槽 3.Film.vue中通过axios请求获取后台轮播图片 目的 步骤 因为现在原网站已取消轮拨 ...
- 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-22 vue移动端卖座电影项目(十五) 如何将项目上传到远程仓库
文章目录 0.git的介绍,官网,下载和安装 介绍 官网和下载地址和安装 2.git的使用命令 2.1.本地 2.2.上传到在线仓库:github,gitee等 2.3.下载 2.4.分支 3.上传v ...
- 2021-12-05 vue移动端卖座电影项目(六) 为详情页面Detail.vue获取后台数据并设置样式
1.带着id传到详情页面中 效果:点击任一电影,跳转进Detail.vue页面时后面自动拼接上电影的filmId http://localhost:8081/#/Detail/6112 http:// ...
- 2021-12-07 vue移动端卖座电影项目(七) 封装轮拨组件,使之可用于详情页Detail,实现演职员表的轮拨和剧照的轮拨
文章目录 0.实现效果 1.封装详情页的轮拨组件DetailSwiper 2.perView:显示张数设置为动态,两个轮拨图分别初始化的方法:重命名并获取当前的class名 3.最终代码和效果 代码 ...
最新文章
- gcc/g++命令参数笔记
- ad域帐号登录提示无法处理请求_微软Windows Server之AD域控制器迁移测试方案
- 微信红利末期,新媒体运营除了打造10W+还应该做什么?
- XNA2.0 API --- ViewPort.Unproject出错啦
- 你真的懂 timeout 吗?
- 多级神经网络结构表达文档语义性能更好吗
- KVM虚拟化的简单概论
- Github上传代码指南(Window版,同样适合Linux版)
- 联想开机启动项按哪个_win7系统如何修改系统启动项 win7系统修改系统启动项方法【步骤】...
- 谈谈以前那位研发总监的工作
- GPS距离测量与定位方法概述
- c语言中until的用法,until的用法总结
- 祝大家2019新春快乐
- hdu--6045 Is Derek Lying
- php视频打水印,php 七牛云 视频加水印
- 斗鱼直播与熊猫直播竞品分析
- 关于爱情和婚姻的经典故事
- 3. 使用balsam.exe / balsamui.exe转换3D模型为 Mesh 文件共View3D的Model使用
- c语言编程*三角形图形右看齐,EOJ 3213 向右看齐
- php公众号用户关注,微信公众号获取用户信息(用户关注公众号)
热门文章
- php验证固定电话,php验证手机号_php中固定电话号码和手机号码正则表达式验证...
- Java爬虫后台+微信小程序之音乐播放器(上)
- M330左键有时候按下没反应的解决 - 换微动
- 【白苹果系统镜像】macOS Monterey 12.4beta3(21F5063e)镜像
- CentOS7修改系统显示语言: 中文为英文
- iOS13正式版发布时间曝光,资源站上新与更新介绍,太多了,今天是个好日子...
- 黑客入门指南,学习黑客必须掌握的技术
- Java设计模式——模板方法模式【Template Method Pattern】
- 群发邮件数量高的邮箱有哪些?邮箱怎么群发邮件单显?
- 金立手机连接wifi显示服务器,金立手机连接wifi身份验证出现问题是怎么 – 手机爱问...