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友好. 话不多说,笔者也是研究多日才搞明白这个服务 ...
随机推荐
- 【力扣精选】Oracle SQL 176. 第二高的薪水
[力扣精选]Oracle SQL 176. 第二高的薪水 这道题很适合用来作为窗口函数的入门使用练习 链接如下: https://leetcode.cn/problems/second-highest ...
- 可观测|时序数据降采样在Prometheus实践复盘
简介: 基于 Prometheus 的监控实践中,尤其是在规模较大时,时序数据的存储与查询是其中非常关键,而且问题点较多的一环.如何应对大数据量下的长周期查询,原生的 Prometheus 体系并未能 ...
- KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置
简介:KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求. 作者:段威(段少) 在当今的多集群业务 ...
- Flink集成Iceberg在同程艺龙的实践
------------恢复内容开始------------ null ------------恢复内容结束------------
- 日志服务Dashboard加速
简介: 阿里云日志服务致力于为用户提供统一的可观测性平台,同时支持日志.时序以及Trace数据的查询存储.用户可以基于收集到的各类数据构建统一的监控以及业务大盘,从而及时发现系统异常,感知业务趋势.但 ...
- 基于 MaxCompute 的实时数据处理实践
简介: MaxCompute 通过流式数据高性能写入和秒级别查询能力(查询加速),提供EB级云原生数仓近实时分析能力:高效的实现对变化中的数据进行快速分析及决策辅助.当前Demo基于近实时交互式BI ...
- [FAQ] PHP Warning: json_encode(): double INF does not conform to the JSON spec
如果待 json 编码元素的数值趋近无穷大,会有这个提示. 比如:小数位超出长度. 解决方式建议保留固定长度的位数,也可以四舍五入. round(sprintf('%.11f', xxxxx), 10 ...
- dotnet 读 WPF 源代码笔记 提升调试效率的 NamedObject 类型
本文来聊聊 WPF 那些值得称赞的设计中的 NamedObject 类型.在 WPF 中,有很多值得我学习的设计开发思想,其中就包括本文将要介绍的 NamedObject 类型.此类型的定义仅仅只是为 ...
- Kafka 监听器详解
Kafka 监听器详解 Kafka Assistant 是一款 Kafka GUI 管理工具--管理Broker,Topic,Group.查看消费详情.监控服务器状态.支持多种消息格式. 目录 Kaf ...
- JUC并发编程学习笔记(十九)原子引用
原子引用 带版本号的原子操作! 解决ABA问题,引入原子引用(乐观锁思想) AtomicStampedReference类解决ABA问题 package org.example.cas; import ...