VUE中用原生JS实现触底加载数据

2023-11-19

VUE中用原生JS实现触底加载数据

在vue开发过程中使用第三方组件是不可避免的,但是第三方样式的css样式属实头痛,所以我选择原生JS的写法完成了触底加载
1:定义data
page: 1, //页数
limit: 10, //每页数据条数
flag: true //开关,
featureList:[]//渲染数据
2:封装函数
  mounted() {
    window.addEventListener("scroll", this.getMore);//监听滚动
  },
getMore() {
      	// 判断开关的属性,如果为false 则return false
      if (this.flag == false) {
        return false;
      }
      let clientHeight = document.documentElement.clientHeight;//获取html的可视高度
      let scrollTop = document.documentElement.scrollTop;//获取html的滚动高度
      let scrollHeight = document.documentElement.scrollHeight;//获取文档的实际高度
      console.log(clientHeight, scrollTop, scrollHeight);//输出三个值
      //判断如果html的可视高度加上滚动高度等于文档的实际高度的话,就关闭开关,否则会造成数据混乱
      if (clientHeight + scrollTop=== scrollHeight) {
        this.flag = false;//关闭开关
        this.$axios({
          url: "https://www.????????.com/????/????/??????",
          params: {
            page: this.page,
            limit: this.limit
          }
        }).then(res => {
          if (res.data.code == 200) {
            this.featureList.push(...res.data.data.list);
            this.page++;
            this.flag = true;
          }
        });
      }
    },
3:当滚动时监听三个值的变化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UcXbRJx-1597936673995)(C:\Users\HE\Desktop\微信截图_20200820230442.png)]

4:当clientHeight + scrollTop=== scrollHeight时候将请求回来的数据推进数组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9WRLfsv-1597936673998)(C:\Users\HE\Desktop\000.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iMsVSxHJ-1597936674001)(C:\Users\HE\Desktop\002.png)]

5:算然JS可以解决但是我还是研究了stylus的样式穿透,来改变第三方组件的样式
// /deep/+第三方组件的类名
/deep/.van-dropdown-menu__bar {
  height: 80px;
}
/deep/.van-dropdown-menu__title::after {
  border-width: 8px;
  right: -30px;
  top: 40%;
}
6:如图

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VUE中用原生JS实现触底加载数据 的相关文章

  • 主干视图 DOM 元素已删除

    我一直在阅读有关 Backbone js 僵尸 或内存泄漏 问题的信息 基本上 当您不再需要该元素时 您必须从 DOM 中解除绑定并删除该元素 以确保所有事件也被删除 现在 我有一个包含几个容器的单页应用程序 div div div div
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • Web 串行 API - 未捕获(承诺中)DOMException:无法打开串行端口/所需成员 baudRate 未定义

    下面的代码可以在我的 Xubuntu 机器上运行 但现在我在 Kubuntu 上 它不再工作了 它不会打开端口 Arduino IDE 工作正常 可以向开发板写入代码 并且我可以在 Chrome 中选择设备 Arduino Uno 但当我尝
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • css 实现相关案例

    css 实现相关案例 抽屉案例 带吸附箭头
  • ES删除数据

    ES删除数据 注意 删除数据请谨慎执行 删除大于 日期的 其他场景可参照执行 DeleteQuery deleteQuery new DeleteQuery deleteQuery setIndex es中 index deleteQuer
  • ORACLE数据库备份管理-rman备份到NFS

    1 相关案例 1 df h无法正常显示文件系统挂载情况 使用如下命令进行处理 umount f nfsdir 2 节点启动出现问题 询问是否包含nfs服务 将分享节点nfs服务重启 1 案例1从linux linux 实施脚本如下 mkdi
  • LeetCode 237. 删除链表中的节点

    题目链接 点击这里 Definition for singly linked list public class ListNode int val ListNode next ListNode int x val x class Solut
  • 深度学习(一)深度学习的概念

    什么是深度学习 深度学习是机器学习与神经网络 人工智能 图形化建模 优化 模式识别和信号处理等技术融合后产生的一个领域 深度学习网路是神经网络革命性的发展 人们甚至认为可以用它来创建更加强大的预测模型 深度学习的分类 深度学习使用多层机器学
  • CMakeLists中条件判断: if()-endif()成对出现

    缺少endif 时提示代码块opening is not closed 1 if if xxx 要缩进 endif 2 if else if xxx 要缩进 else xxx 要缩进 endif
  • Windows RuntimeError: Distributed package doesn‘t have NCCL built in问题

    问题描述 python在windows环境下dist init process group backend rank world size 处报错 RuntimeError Distributed package doesn t have
  • Serilog + SQL Server 动态分表记录日志

    Serilog SQL Server 分表记录日志 Serilog SQL Server 动态分表记录日志 依赖包 安装依赖包 配置 appsettings json 配置 Program cs Serilog SQL Server 动态分
  • visio 科学图形包_Gnuplot科学绘图(三十九)——地图及圆圈数据图

    Gnuplot科学绘图 系列内容Gnuplot科学绘图 三十一 曲线色彩填充 Gnuplot科学绘图 三十二 填充风格Gnuplot科学绘图 三十三 柱状图Gnuplot科学绘图 三十四 阶梯图Gnuplot科学绘图 三十五 数据平滑Gnu
  • element-ui中日期区间组件

    elementui中日期组件使用 最长只能选择3个月 不限制禁用日期 描述 时间组件代码 描述 点击 确定 按钮进行验证 点击 清空 按钮 清空输入框中的数据 时间范围不能超过3个月 并添加快捷选择今天 最近一周 最近一月 最近3个月 以下
  • js正则 年龄只能为正数,不能为负数,且不能超过150

    需求 要对输入的年龄加条件限制 不能任意输入 只能为正数 不能输入小数 负数
  • 正则表达式(日期、金额、特殊字符)_java语言

    正则表达式 java 正则表达式在线测试网站 个人觉得还算精确 http tool chinaz com regex 备注 如有错误 希望留言指出 虚心请教 金额格式 正数 包含至多2位小数 第1种形式 校验金额格式是否正确 正数 包含至多
  • Android OpenCv 提取图像的RGB三原色分割图像Split Core.split

    基础知识 如果你还不了解 图片 是如何存储的 建议先去看这篇文章 关于三通道彩色图像的存储方式理解 函数简析 我们都知道 彩色图片每个像素点都对应三个值 如 R G B Core split 这个函数则是帮我们这三个值分开 即分别提取 R
  • VUE3快速上手--知识点

    本文是根据B站尚硅谷的视频 尚硅谷Vue2 0 Vue3 0全套教程 全网最新最强vuejs从入门到精通 Vue3部分形成的笔记 一 简介 2020年9月18日 Vue js发布3 0版本 代号 One Piece 海贼王 Vue3相比Vu
  • fileinclude (攻防世界web)

    题目 从题目页面可得到对我们有用的信息 flag存放在了flag php中 并且还知道了当前页面的绝对路径 分析完当前页面能够获取到的所有信息后 查看页面源代码试试 发现得到了主页的php源码 分析以上源码 可知其中 lan为我们可控的 并
  • CentOS安装mariadb

    1 安装 root localhost yum install mariadb mariadb server 2 启动并自启 root ecs 3f21 systemctl enable mariadb now 3 查看启动状态 root
  • CLIP 改进工作

    Contents 图像分类 IJCV 2022 Learning to prompt for vision language models Introduction Context Optimization CoOp Experiments
  • Quartz定时任务详解

    一 添加依赖
  • android Instrumentation

    Android提供了一系列强大的测试工具 它针对Android的环境 扩展了业内标准的JUnit测试框架 尽管你可以使用JUnit测试Android工程 但Android工具允许你为应用程序的各个方面进行更为复杂的测试 包括单元层面及框架层
  • VUE中用原生JS实现触底加载数据

    VUE中用原生JS实现触底加载数据 在vue开发过程中使用第三方组件是不可避免的 但是第三方样式的css样式属实头痛 所以我选择原生JS的写法完成了触底加载 1 定义data page 1 页数 limit 10 每页数据条数 flag t