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 相关文章推荐
JavaScript延迟加载
Mar 09 Javascript
深入理解javascript中return的作用
Dec 30 Javascript
js操作iframe父子窗体示例
May 22 Javascript
jquery 新建的元素事件绑定问题解决方案
Jun 12 Javascript
jQuery.Callbacks()回调函数队列用法详解
Jun 14 Javascript
jQuery实现的放大镜效果示例
Sep 13 Javascript
react-router实现跳转传值的方法示例
May 27 Javascript
详解在vue-cli中使用路由
Sep 25 Javascript
JavaScript 正则命名分组【推荐】
Jun 07 Javascript
Mint UI组件库CheckList使用及踩坑总结
Dec 20 Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 Javascript
JS绘图Flot如何实现可选显示曲线图功能
Oct 16 Javascript
如何在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
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
actionscript与javascript的区别
2011/05/25 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
高中英语教学反思
2014/02/04 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
临时租车协议范本
2014/09/23 职场文书
迎新生欢迎词
2015/01/23 职场文书
项目投资意向书范本
2015/05/09 职场文书
教师网络培训心得体会
2016/01/09 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang