Vue如何实现监听组件原生事件


Posted in Javascript onJuly 03, 2020

在首页开发中,右下角有一个返回顶部的小箭头,将它单独封装成一个BackTop组件,但是它何时出现需要依赖于首页的滑动,即另外一个Scroll组件。如果直接在BackTop组件里面监听,则需要通过this.$emit将事件发射到Home组件中,又在Home中监听自定义事件,比较复杂。因此,我们直接在Home中对BackTop组件进行监听,使用 .native

官网对于native的解释为:

.native:监听组件根元素的原生事件

代码如下:

在Home.vue中对back-top组件进行点击事件监听:

Vue如何实现监听组件原生事件Vue如何实现监听组件原生事件

this.$refs.scroll 得到的是 Scroll 组件,this.$refs.scroll.scroll 得到的是Scroll组件中 data 中定义的 scroll属性,

Vue如何实现监听组件原生事件

better-scroll中有个方法是 scrollTo,

Vue如何实现监听组件原生事件

这里顺便讲解一下 ref 属性的使用:

ref 被用来给DOM元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs对象上。$refs 是所有注册过的ref的一个集合,

如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例。

1.在普通的dom结构中,在元素上添加ref属性,this.$refs.ref获取的是具有这个ref属性的dom节点

2.在vue组件中,this.$refs.ref获取的是组件的实例,组件中的data可以直接this.$refs.ref.key获取数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
从URL中提取参数与将对象转换为URL查询参数的实现代码
Jan 12 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
Oct 11 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
JavaScript中的对象序列化介绍
Dec 30 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
JavaScript简单实现鼠标移动切换图片的方法
Feb 23 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
create-react-app 修改为多入口编译的方法
Aug 01 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
如何在node环境实现“get数据解析”代码实例
Jul 03 #Javascript
JavaScrip如果基于url实现图片下载
Jul 03 #Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 #Javascript
JavaScript如何判断对象有某属性
Jul 03 #Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 03 #Javascript
JS常见错误(Error)及处理方案详解
Jul 02 #Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 #Javascript
You might like
php桌面中心(四) 数据显示
2007/03/11 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
javascript的push使用指南
2014/12/05 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python中sys.argv函数精简概括
2018/07/08 Python
python中open函数的基本用法示例
2019/09/07 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
想学画画?python满足你!
2020/12/24 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
大学生优秀的自我评价分享
2013/10/22 职场文书
关于安全的标语
2014/06/10 职场文书
十七岁的单车观后感
2015/06/12 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript