vue 使用鼠标滚动加载数据的例子
作者:平常心_c 发布时间:2024-05-28 15:42:21
标签:vue,鼠标滚动,加载数据
关于用鼠标滚动到某个位置我们就去加载数据,这样的场景与业务需求现在越来越常见,现在来分析下《vue.js 实战》中作者的一个解决策略:
1. 设置一个标志位用来判断数据是否在加载中
2. 将滚动区域设置成 overfow:auto(显示滚动条)
3. 给滚动区域加入监听事件并绑定ref属性 来获取DOM实例
4. 当鼠标滚动到底部时,加载数据
4.1 如果此时 标志位为true则 直接退出,不进行此时数据加载
关键代码如下:
<template>
//...代码省略
//该div 为要滚动区域
<div class="daily-list" ref="list" @scroll="handleScroll">
// ...
</div>
</template>
<script>
export default{
data(){
return {
recommendList:[], //存放滚动区域要显示的数据
isLoading:false //默认没有在加载数据
}
},
methods:{
//获取数据
getRecommendList(){
//表示正在加载数据
this.isLoading=true;
$.ajax.get('news/before/'+preDay).then(res=>{
this.recommendList.push(res);
//数据请求完成
this.isLoading=false;
})
},
handleScroll(){
const $list=this.$refs.list;
//如果数据有在加载中则这次请求退出
if(this.isLoading) return;
//已经滚动的距离加页面的高度等于整个内容区高度时,视为接触到底部
//scrollTop 获取到顶部的滚动距离
// clientHeight 表示页面视口高度
// scrollHeight 页面内容的高度
if($list.scrollTop+document.body.clientHeight>=$list.scrollHeight){
this.getRecommendList();
}
}
},
mounted(){
this.getRecommendList()
}
}
</script>
<style>
width: 300px;
position: fixed;
top:0;
left: 150px;
//出现滚动条
overflow: auto;
</style>
来源:https://blog.csdn.net/qq_37674616/article/details/83316070


猜你喜欢
- 首先需要安装pyinstaller库。pip install pyinstallerexe程序打包步骤cmd 进入要编译的python文件所
- asp压缩access数据库,具体asp代码见下: Class DatabaseTools &n
- Urllib1. Urllib.request.urlopen().read().decode()返回一个二进制的对象,对这个对象进行rea
- 用ASP实现搜索引擎的功能是一件很方便的事,可是,如何实现类似3721的智能搜索呢?比如,当在搜索条件框内输入“中国人民”时,自动从中提取“
- 利用这个小游戏可以学习一下ython3.3中tkinter的使用方法# -*- coding: utf-8 -*-import tkinte
- 官方文案:https://docs.python.org/zh-cn/3/library/hashlib.htmlhashlib --- 安
- 前几天学习了Yolov5,当我想实际将Yolov5实际运用的时候却不知道怎么办了然后我决定对Yolov5的detect.py修改为可以直接调
- 空接口定义空接口是特殊形式的接口类型,普通的接口都有方法,而空接口没有定义任何方法口,也因此,我们可以说所有类型都至少实现了空接口。type
- 一、mac下安装MySQL数据库1.下载MySQL数据库下载地址:访问MySQL的官网http://www.mysql.com/downlo
- 如何用net/http构建一个简单的web服务Golang提供了简洁的方法来构建web服务package main import ( &nb
- 解决2个问题:1.身份证之类的文本数据自动转为科学计数法的问题。2.中文乱码的问题excel从web页面上导出的原理。当我们把这些数据发送到
- 目录简单的验证码简单的登录页面我们经常在登录一个网站,或者注册的时候需要输入一个验证码,有时候觉得很烦,因为有些验证码不仅复杂还看不清,许多
- 题目描述给定n个字符串,请对n个字符串按照字典序排列。输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长
- 前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容。主要有三种方法:1.切片法(最简洁的一种)#切片法d
- 下面通过图文并茂的方式展示如下:一、SQL Profiler 事件类 Stored Procedures\RPC:Complete
- 版本:ant design vue 3.2.4场景:使用Image图片组件预览功能需求:自定义预览遮罩层及预览图片的样式;不得影响到其他页面
- 本文实例讲述了基于Python实现的ID3决策树功能。分享给大家供大家参考,具体如下:ID3算法是决策树的一种,它是基于奥卡姆剃刀原理的,即
- Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直
- 看代码:Vue提供了强大的前端开发架构,很多时候我们需要判断数据对象是否为空,使用typeof判断是个不错选择,具体代码见图。补充知识:vu
- 前言本文题目中虽然写有vue和react,但是并非vue和react相关知识,而是最基本的html5和css3的一些知识,之所以写vue,是