文章目录

  • 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设置滚动效果相关推荐

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

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

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

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

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

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

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

    文章目录 1.引入swiper.vue组件 目的 步骤 结果 2.把swiper-slide做成匿名插槽 3.Film.vue中通过axios请求获取后台轮播图片 目的 步骤 因为现在原网站已取消轮拨 ...

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

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

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

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

  7. 2021-12-22 vue移动端卖座电影项目(十五) 如何将项目上传到远程仓库

    文章目录 0.git的介绍,官网,下载和安装 介绍 官网和下载地址和安装 2.git的使用命令 2.1.本地 2.2.上传到在线仓库:github,gitee等 2.3.下载 2.4.分支 3.上传v ...

  8. 2021-12-05 vue移动端卖座电影项目(六) 为详情页面Detail.vue获取后台数据并设置样式

    1.带着id传到详情页面中 效果:点击任一电影,跳转进Detail.vue页面时后面自动拼接上电影的filmId http://localhost:8081/#/Detail/6112 http:// ...

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

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

最新文章

  1. gcc/g++命令参数笔记
  2. ad域帐号登录提示无法处理请求_微软Windows Server之AD域控制器迁移测试方案
  3. 微信红利末期,新媒体运营除了打造10W+还应该做什么?
  4. XNA2.0 API --- ViewPort.Unproject出错啦
  5. 你真的懂 timeout 吗?
  6. 多级神经网络结构表达文档语义性能更好吗
  7. KVM虚拟化的简单概论
  8. Github上传代码指南(Window版,同样适合Linux版)
  9. 联想开机启动项按哪个_win7系统如何修改系统启动项 win7系统修改系统启动项方法【步骤】...
  10. 谈谈以前那位研发总监的工作
  11. GPS距离测量与定位方法概述
  12. c语言中until的用法,until的用法总结
  13. 祝大家2019新春快乐
  14. hdu--6045 Is Derek Lying
  15. php视频打水印,php 七牛云 视频加水印
  16. 斗鱼直播与熊猫直播竞品分析
  17. 关于爱情和婚姻的经典故事
  18. 3. 使用balsam.exe / balsamui.exe转换3D模型为 Mesh 文件共View3D的Model使用
  19. c语言编程*三角形图形右看齐,EOJ 3213 向右看齐
  20. php公众号用户关注,微信公众号获取用户信息(用户关注公众号)

热门文章

  1. php验证固定电话,php验证手机号_php中固定电话号码和手机号码正则表达式验证...
  2. Java爬虫后台+微信小程序之音乐播放器(上)
  3. M330左键有时候按下没反应的解决 - 换微动
  4. 【白苹果系统镜像】macOS Monterey 12.4beta3(21F5063e)镜像
  5. CentOS7修改系统显示语言: 中文为英文
  6. iOS13正式版发布时间曝光,资源站上新与更新介绍,太多了,今天是个好日子...
  7. 黑客入门指南,学习黑客必须掌握的技术
  8. Java设计模式——模板方法模式【Template Method Pattern】
  9. 群发邮件数量高的邮箱有哪些?邮箱怎么群发邮件单显?
  10. 金立手机连接wifi显示服务器,金立手机连接wifi身份验证出现问题是怎么 – 手机爱问...