Vue => Vue监听组件滚动事件

2023-11-07

在dom元素上加ref,利用this.$refs.recordwrapper获取到元素,添加滚动监听事件,希望得到的结果是滚动触发事件handleScroll,现在情况是失效,并没有监听到滚动动作,或者说滚动动作并没有出发事件

  • 问题:监听事件的参数写错了,带括号就直接调用了函数,去掉括号就好了
<template>
	<div class="main">
	  <div class="content" ref="recordwrapper">
	  </div>
	</div>
</template>
 
<script>
export default {
  data() {
  },
  watch: {
    'chatList': function(e) {
      if (e.length) {
        this.$nextTick(() => {
          this.$refs.recordwrapper.addEventListener('scroll', this.handleScroll);
        })
      }
    }
  },

  methods: {
       handleScroll () {
      // 变量scrollTop是滚动条滚动时,距离顶部的距离
      this.$nextTick(() => {
        // 获取需要滚动的距离
        var scrollTop = this.$refs.recordwrapper.scrollTop
        // 变量windowHeight是可视区的高度
        var windowHeight = this.$refs.recordwrapper.clientHeight
        // 变量scrollHeight是滚动条的总高度
        var scrollHeight = this.$refs.recordwrapper.scrollHeight
        // 滚动条到底部的条件
        console.log(scrollTop, windowHeight, scrollHeight);
        if (scrollTop == 0 && this.chatList.length !== 0) {
          if (this.count > 1) {
            this.topLoading = true
            this.count -= 1;
            this.getWechatCallDetail()
          }
        }
      })
    }
 
  },
};
</script>
 
<style scoped lang="scss">
.main{
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction:column;
  .head{
    width: 100%;
    position: fixed;
    top: 0;
    left:0;
    background: #eee;
  }
  .content{
    margin-top: 55px;
    height: 100%;
    flex: 1;
    -webkit-flex: 1;
  }
}
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue => Vue监听组件滚动事件 的相关文章

  • 如何等待第一次画布重绘,直到 @font-face-font 加载?

    我有一个 HTML5 画布并用它编写文本context fillText 使用 font face font 使用 Firefox 3 6 显示页面我遇到问题 在画布的第一次绘制上 字体尚未下载 因此文本将以标准字体显示 我找到了一个 解决
  • 使用普通的旧 JS 动态渲染 DOM 元素的好方法是什么?

    我面临的挑战是使用普通的旧 Javascript 构建一个单页应用程序 不允许使用任何库或框架 虽然在 React 和 Angular 中创建动态 DOM 元素相当简单 但我提出的普通 JS 解决方案似乎很笨重 我想知道是否有一种特别更简洁
  • 在 sinon.js 中存根和/或模拟类?

    我已经为我的应用程序创建了一个数据库包装器 如下所示 为了测试它 我显然想替换实际的数据库 我可以创建一个新类来模拟query方法并捕获那里的所有输入 但是使用sinon js看起来更合适 但是我该如何使用它呢 Is the mock or
  • 尝试制作Linux终端但失败

    这可能是一个愚蠢的问题 可能很容易找到 但我对这一切都很陌生 我似乎找不到我要找的东西 或者至少我不知道我需要寻找什么 所以我在这里 所以我想做的是创建一种 Linux 终端 这就是我到目前为止所得到的 我所坚持的是实际输入文本部分 我一直
  • 图表外的 JQPlot 图例

    我正在使用 JQPlot 并且在一个 HTML 页面上有很多图表 每个图表都有相同的图例 我的问题是 是否可以完全在图表之外显示图例 并在 HTML 页面或自己的 div 中拥有自己的位置 legend show true renderer
  • { ...obj1, obj2 } 到底做什么[重复]

    这个问题在这里已经有答案了 假设我们有两个对象 const state fishes some obj data animals some obj data const animals some NEW data 在Vuex中有一个方法re
  • 如何在 HTML 链接中使用 JavaScript 变量

    我正在开发的网站有一个标签指向与网站所具有的 URL 不同的 URL 我想做的是绕过使用下面的 trueURL 标记来查找网页的网址 因为我需要它来构造一些内部锚点 因为我需要网站的实际网址 以便内部锚点正常工作 我遇到的问题是我不知道应该
  • 如何使用 jQuery 在悬停元素旁边显示一个 div?

    假设我有severaldiv 像这样 EDIT div class ProfilePic a href img src lib css img profile pic1 png alt class ProfilePicImg a div c
  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • 使用jquery,下拉列表选择更改时如何重定向?

    我有一个下拉列表 如果有人选择一个选项 我想根据选择重定向到另一个页面 我怎样才能通过 jquery 做到这一点 将逻辑绑定到 change 事件 并从中获取当前值 val 以确定用户应该被重定向到哪里 此示例假设位置直接存储在值本身中 m
  • IE9:奇怪的 JavaScript 错误

    我尝试在网站中显示 Google DFP 广告横幅时遇到错误 这些广告在除 IE9 之外的所有浏览器中展示 您可以在此处查看带有横幅的简单测试页面 离线演示 错误是 抛出异常但未捕获 google ads js 第 34 行字符 474 I
  • img设置flex-grow来填充flex容器剩余空间,它会导致flex内部溢出flex容器[重复]

    这个问题在这里已经有答案了 以下是我的代码 text1 溢出 Flex 容器 我期望 Flex 容器中的 img 文本和 img 填充 Flex 容器其余部分
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • 如何将多种语言设置放入单个 .clang-format 文件中

    我想为 java javascript 和 c 创建一个 clang 格式 我知道如何转储单一语言的示例配置 但不知道如何合并这 3 个配置文件 有关如何将多种语言配置放入单个文件中的示例 BasedOnStyle LLVM IndentW
  • 如何在 html5 中加载部分 html? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问我们的问题推荐或查找工具 库或最喜欢的场外资源与 Stack Overflow 无关 因为它们往往会吸引固执己见的答案和垃圾邮件 反而
  • 如何将 props 传递给模态

    我有一个购物应用程序 我可以在其中映射一些产品并将它们呈现在屏幕上 用户可以增加 减少数量 当数量达到 1 并且用户点击减少时 一些中间件会介入并询问他们是否确定要将其从购物篮中删除 如果他们单击 否 则会关闭模式并将其留在购物篮中 如果他
  • Mapbox 关闭除一层之外的所有图层

    我是 Mapbox 和 javascript 的新手 我试图稍微修改一下 Mapbox GL 代码示例 发现here https www mapbox com mapbox gl js example toggle layers 允许打开
  • 函数声明可以出现在 JavaScript 的语句内部吗?

    请考虑将官方 ECMAScript 规范作为您答案的来源 而不是特定浏览器供应商发布的文档 我知道 Mozilla 用 函数语句 扩展了它的 JavaScript 实现 因此 根据 ECMAScript 规范 因此 其中定义的语法产生式 这
  • 如何使我的响应式网站在手机上支持“请求桌面网站”?

    我有一个响应灵敏的动态网站 Java Servlet 驱动且完全手工编码 由于它是一个返回数据表的科学站点 因此某些选项在较小的视口宽度下不可用 然而 可能有些用户更喜欢在桌面网站上挣扎才能访问这些选项 我希望适应他们 我的问题是 对于 i
  • 返回语句后的声明

    function f return f1 function f1 return 5 f returns 5 为什么这有效 之后声明局部函数有什么好处return 这是好的做法吗 它之所以有效 是因为函数声明都是由解释器在第一次传递时评估的

随机推荐

  • [ETH]以太坊go-ethereum项目源代码本地编译——Windows10

    前言 本文主要讲解如何在win10系统下 利用goland来build生成geth exe可执行文件 正文 golang环境搭建 具体安装方法就不再赘述 但是以太坊对golang的版本有要求 得1 7及以上 推荐1 9 3 go ether
  • 思科实验4.网络层:路由器IP地址配置

    路由器IP地址配置 基础知识 常用命令 实验流程 1 设计拓扑 2 配置路由器IP地址 3 查看路由表 4 激活端口 5 查看路由表 6 验证主机连通 基础知识 ip地址是网络层中使用的地址 网络层依靠IP地址和路由协议将数据报送到目的IP
  • dependency ‘mysql-connector-java‘not found

    dependency mysql connector java not found 标题 1 按照博客上的指示去寻找 Settings gt Build Execution Deployment gt Build Tools gt Mave
  • 湖南2020年计算机等级考试报名时间,2020年湖南12月计算机等级考试报名时间:11月7日—10日...

    摘要 备考了一段时间 终于要检验自己的学习成果了 考必过小编为大家整理了关于 2020年湖南12月计算机等级考试报名时间 11月7日 10日 的信息 希望可以帮助到大家 下面我们就一起来看下 2020年湖南12月计算机等级考试报名时间 11
  • ETL抽取工具informatica powercenter designer实例(一)

    一 安装配置 安装好Informatica 首先 需配置一下修改配置文件路径为 地址 C Windows System32 drivers etc 将 10 10 23 112 BIEE 复制到后面 注 第二个ip地址哪里 要在hots文件
  • Python将图片转换成二进制的.txt文件

    from PIL import Image im Image open 0 00 png 图像路径 width im size 0 height im size 1 fh open 1 txt w 转换成的txt文件 for i in ra
  • 2023JavaWeb面试问答_Spring

    使用 Spring 框架的好处是什么 轻量 Spring 是轻量的 基本的版本大约 2MB 控制反转 Spring 通过控制反转实现了松散耦合 对象们给出它们的依赖 而不是创建或查找依赖的对象们 面向切面的编程 AOP Spring 支持面
  • Linux系统:ulimit命令

    目录 一 理论 1 ulimit命令 二 实验 1 打开的最大文件描述符的数量为65535 一 理论 1 ulimit命令 1 概念 ulimit是一个计算机命令 用于shell启动进程所占用的资源 可用于修改系统资源限制 限制每个用户可使
  • Spring Security在前端后端分离项目中的使用

    Spring Security 是 Spring 家族中的一个安全管理框架 可以和Spring Boot项目很方便的集成 Spring Security框架的两大核心功能 认证和授权 认证 验证当前访问系统的是不是本系统的用户 并且要确认具
  • H5 调用扫一扫识别条形码 并返回内容值

  • 计算机网路课程设计——电子邮件客户端的设计与实现——接收邮件(POP3协议)

    上一篇已经写了SMTP发送邮件客户端的代码 https blog csdn net dayexiaofan article details 85257320 这一篇我们来写一下POP3接收方的代码 注意这里的密码也是授权码 看代码 如果你能
  • React、Vue和Angular的优缺点

    React React 是一个用于构建用户界面的 JAVASCRIPT 库 React 主要用于构建 UI 很多人认为 React 是 MVC 中的 V 视图 React 起源于 Facebook 的内部项目 用来架设 Instagram
  • 数组的定义与使用

    一 数组的基本用法 1 什么是数组 数组本质上就是让我们能 批量 创建相同类型的变量 如果我们需要创建一个数据 int a 需要创建两个数据 int a int b 需要创建三个数据 int a int b int c 那如果要创建100万
  • 第五章:存储系统和结构

    5 1存储系统的组成 存储器的分类 1 按存储器在计算机系统中的作用分类 高速缓冲存储器 主存储器 辅助存储器 2 按存取方式分类 随机存取存储器RAM 只读存储器ROM 顺序存取存储器SAM 直接存取存储器DAM 3 按存储介质分类 磁芯
  • 【VScode设置免密登录及出现的问题】

    前言 使用VScode进行远程服务器代码调试时 每次都要输入密码 很麻烦 有木有 之前的操作请看 安装并使用VScode进行远程服务器代码调试及遇到的问题和解决办法 一 打开终端 登录上之后 创建一个新的终端 二 创建公钥和私钥 命令如下
  • Attention! No symbol directories found - please check your native debug configuration</font>

    我出现问题的版本是Android Studio2 2 3 之前项目是正常的 可以调试JNI代码 但是突然有一次不知道什么原因就无法调试 断点无法断下 调试时有这样的警告 Now Launching Native Debug Session
  • java进阶篇--TCP 为什么需要三次握手?

    TCP 协议是我们每天都在使用的一个网络通讯协议 因为绝大部分的网络连接都是建立在 TCP 协议上的 比如你此刻正在看的这篇文章是建立在 HTTP Hypertext Transfer Protocol 超文本传送协议 应用层协议的基础上的
  • 手把手教你微信第三方平台开发

    本文适合想接入第三方平台开发的同学 通过真实经验大致讲解一下相关业务 建议收藏以备不时之需 一 什么是微信开放平台 微信开放平台地址 微信开发平台实际上就是给微信外部人员提供微信能力的平台 我们可以在这个平台创建相关的应用 管理对应的认证
  • React服务端渲染框架Next.js入门之旅三:路由跳转和参数传递

    不带参数 静态路由 带参数 根据参数不同显示不同内容 动态路由 一 路由跳转 标签式跳转 在pages下新建juanA js以及juanB js作为两个跳转页面 juanA js import Link from next link exp
  • Vue => Vue监听组件滚动事件

    在dom元素上加ref 利用this refs recordwrapper获取到元素 添加滚动监听事件 希望得到的结果是滚动触发事件handleScroll 现在情况是失效 并没有监听到滚动动作 或者说滚动动作并没有出发事件 问题 监听事件