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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
window.location.href中url中数据量太大时的解决方法
Dec 23 Javascript
$.each与$().each的区别示例介绍
Mar 20 Javascript
javascript模拟实现ajax加载框实例
Oct 15 Javascript
jQuery替换textarea中换行的方法
Jun 10 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
Oct 02 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
微信小程序实现添加手机联系人功能示例
Nov 30 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
Vuejs中的watch实例详解(监听者)
Jan 05 Javascript
6种JavaScript继承方式及优缺点(小结)
Feb 06 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
用文本文件制作留言板提示(下)
2006/10/09 PHP
一些PHP写的小东西
2006/12/06 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
jquery获取input表单值的代码
2010/04/19 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python+opencv实现动态物体追踪
2018/01/09 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
django和vue实现数据交互的方法
2019/08/21 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
Python爬虫与反爬虫大战
2020/07/30 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
中专生毕业个人鉴定
2014/02/26 职场文书
2016党校学习心得体会
2016/01/07 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
CSS 鼠标选中文字后改变背景色的实现代码
2023/05/21 HTML / CSS