vue移动端 滚动
better-scroll: https://better-scroll.github.io/docs/zh-CN/guide/
影院列表数据使用better-scroll来完成数据的展示,此插件对于移动站点的滚动非常友好
安装 cnpm i -S better-scroll

html结构一定要规定好

<template>
<div>
<nav>
<router-link to="/cities">恩施</router-link>
</nav>
<!-- 列表容器外层的盒子 -->
<div class="box" :style="{ height }">
<!-- 所有列表项的容器 -->
<div class="item" v-for="item in cinemas" :key="item.cinemaId" @clikc="fn">
<div class="left">
<div>{{ item.name }}</div>
<div>{{ item.address }}</div>
</div>
<div class="right">
<div>¥25起</div>
<div>5km</div>
</div>
</div>
</div>
</div>
</template> <script>
import Vue from 'vue'
// 引入组件
import { Toast, Notify } from 'vant'
import BetterScroll from 'better-scroll'
import { cinemaData } from './api/api'
Vue.use(Toast)
Vue.use(Notify)
export default {
data() {
return {
cinemas: [],
// 滚动容器的高度 计算出来
height: 0,
// 滚动对象
scroll: null
}
},
mounted() {
this.getData()
// 外层滚动容器高度
this.height = document.documentElement.clientHeight - 50 + 'px'
// 异步执行完毕后执行的方法
this.$nextTick(() => {
this.scroll = new BetterScroll('.box', {
// 上拉事件
pullUpLoad: true,
// 下拉
pullDownRefresh: true,
click: true
})
// 上拉事件
this.scroll.on('pullingUp', () => {
this.getData(2)
this.scroll.finishPullUp()
})
// 下拉
this.scroll.on('pullingDown', () => {
this.getData(1)
this.scroll.finisPullDown()
})
})
},
beforeDestroy() {
// 组件销毁之前要清掉所创建的动画
this.scroll = null
Toast.clear()
},
methods: {
fn() {
console.log('我点击了')
},
// 获取数据
async getData(flag = 1) {
// 加载提示框==》 动态创建组件
Toast.loading({
// 持续加载中
duration: 0,
message: '加载中。。。。',
// 透明蒙层
forbidClick: true
})
// 异步,在刚开始没有数据
const ret = await cinemaData()
if (flag == 1) {
// 从顶部添加数据分页数据
this.cinemas = [...ret.data.dta.cinemas, ...this.cinemas]
} else {
this.cinemas = [...this.cinemas, ...ret.data.data.cinemas]
}
// 关闭提示
Toast.clear()
// 通知一下
Notify({ type: 'success', message: '这里是通知内容' })
}
}
}
</script>
异步获取数据时封装的cinemaData()
export const cinemaData = () => {
return http.get(cinemaUri, {
headers: {
// 由于请求头信息中不同的需求不同的请求头,所以要判断所用的条件
'info': 'cinema'
}
})
}
封装请求头信息和axios
import Vue from 'vue'
import axios from "axios" axios.defaults.baseURL = 'https://maaaaaa.com'
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
let host = "mall.film-ticket.film.list"
let info = config.headers.info
vue移动端 滚动的更多相关文章
- vue移动端 滚动 鼠标按下效果
<div class="item" :id="item.RowID" @touchstart="touchstart(item.RowID)&q ...
- Vue项目移动端滚动穿透问题
概述 今天在做 Vue 移动端项目的时候遇到了滚动穿透问题,在网上查资料后,选取了我觉得最好的方法,记录下来供以后开发时参考,相信对其他人也有用. 上层无需滚动 如果上层无需滚动的话,直接屏蔽上层的 ...
- [vue] vue服务端渲染nuxt.js
初始化 使用脚手架工具 create-nuxt-app 快速创建 npx create-nuxt-app <项目名> npx create-nuxt-app 执行一些选择 在集成的服务器端 ...
- vue监听滚动事件,实现滚动监听
在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 <!DOCTYPE html> <html lang="en"> ...
- Egg + Vue 服务端渲染工程化实现
在实现 egg + vue 服务端渲染工程化实现之前,我们先来看看前面两篇关于Webpack构建和Egg的文章: 在 Webpack工程化解决方案easywebpack 文章中我们提到了基于 Vue ...
- Vue移动端项目模板
一个集成移动端开发插件的Vue移动端模板包含1.css: 使用stylus开发css 集成reset样式文件 修改UI组件文件 统一样式处理(如主题色等)2.UI组件 使用热门的vant与mint-u ...
- vue移动端金融UI组件库滴滴MandMobile面向金融场景设计附功能思维导图
vue移动端金融UI组件库滴滴MandMobile面向金融场景设计附功能思维导图 Mand Mobile是面向金融场景设计的移动端组件库,基于Vue.js实现.目前已实际应用于滴滴四大金融业务板块的1 ...
- vue移动端h5页面根据屏幕适配的四种方案
最近做了两个关于h5页面对接公众号的项目,不得不提打开微信浏览器内置地图导航的功能确实有点恶心.下次想起来了的话,进行总结分享一下如何处理.在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块 ...
- vue服务端渲染axios预取数据
首先是要参考vue服务端渲染教程:https://ssr.vuejs.org/zh/data.html. 本文主要代码均参考教程得来.基本原理如下,拷贝的原文教程. 为了解决这个问题,获取的数据需要位 ...
- vue服务端渲染简单入门实例
想到要学习vue-ssr的同学,自不必多说,一定是熟悉了vue,并且多多少少做过几个项目.然后学习vue服务端渲染无非解决首屏渲染的白屏问题以及SEO友好. 话不多说,笔者也是研究多日才搞明白这个服务 ...
随机推荐
- 使用Skyline 新型UI管理OpenStack技术方案
使用Skyline 新型UI管理OpenStack [摘要] Skyline 是一个经过 UI 和 UE 优化过的 OpenStack 仪表盘,支持 OpenStack Train 及以上版本.Sky ...
- seaJS简介
所有版本的 zip 包请在这里下载:seajs/tags 解压后,目录说明如下: dist -- sea.js 等压缩好的文件,直接可用 docs -- 使用文档 lib -- 给 Node.js 用 ...
- 力扣436(java&python)-寻找右区间(中等)
题目: 给你一个区间数组 intervals ,其中 intervals[i] = [starti, endi] ,且每个 starti 都 不同 . 区间 i 的 右侧区间 可以记作区间 j ,并满 ...
- Apsara Stack 同行者专刊 | 政企混合云技术架构的演进和发展
简介: 现在,政企客户已进入到用云计算全面替换传统IT基础架构的攻坚阶段,混合云与传统架构的技术产品能力也正在经历全面的比较与评估.阿里云混合云平台首席架构师张晓丹分享IT架构技术深刻洞察,并对政企混 ...
- 阿里云力夺FewCLUE榜首!知识融入预训练+小样本学习的实战解析
简介: 7月8日,中文语言理解权威评测基准CLUE公开了中文小样本学习评测榜单最新结果,阿里云计算平台PAI团队携手达摩院智能对话与服务技术团队,在大模型和无参数限制模型双赛道总成绩第一名,决赛答辩总 ...
- DevOps 能力提升模型
简介: DevOps 能力反映的是技术研发响应业务变化的能力.随着组织规模的增加和业务复杂性增长,DevOps 能力会变得越来越重要.持续提升 DevOps 的能力成为技术研发的共同挑战. 编者按:本 ...
- [FAQ] mogodb Robo3T 客户端全屏后 怎么退出全屏
mongodb 的 Robo3T 客户端: 如果是不小心全屏了,不用担心,按 F11 恢复. 如果想要全屏,也是按 F11. Link:https://www.cnblogs.com/farwish/ ...
- [FE] ServerSideRender 加上 PWA 特性的一种处理方式
SSR 和 PWA 这两块分开讲,需要做不少的处理,现在我们有了一种简便的方式来处理它,就是使用 Quasar 框架. Quasar 支持了 SPA.SSR.PWA.Mobile APP.Electr ...
- PostMan测试图片上传接口的方法
一.选择POST后添加接口地址 二.选择Body下的from-data 注:Headers不要加参数 三.填写key,再key后的下拉选择file,然后选择文件 注:key并不是图片名称,而是接口接收 ...
- foreach更改element内容后this到data不生效导致页面数据无变化
list.forEach(element => { element = element.split('^') console.log(element) }) 数据已经被更改,但在外部t ...