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 相关文章推荐
不用ajax实现点击文字即可编辑的方法
Dec 16 Javascript
基于jQuery的投票系统显示结果插件
Aug 12 Javascript
javascript 快速排序函数代码
May 30 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
Dec 23 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
Nov 28 Javascript
JavaScript实现获取dom中class的方法
Feb 09 Javascript
基于jquery实现轮播焦点图插件
Mar 31 Javascript
基于cookie实现zTree树刷新后展开状态不变
Feb 28 Javascript
JavaScript 用fetch 实现异步下载文件功能
Jul 21 Javascript
vue组件name的作用小结
May 23 Javascript
Vue 监听列表item渲染事件方法
Sep 06 Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 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
短波问题解答
2021/02/28 无线电
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
2011/03/25 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
python实现画循环圆
2019/11/23 Python
python之列表推导式的用法
2019/11/29 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
Why do we need Unit test
2013/01/03 面试题
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
给导游的表扬信
2014/01/10 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
球队口号
2014/06/18 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL