目录

事件绑定

基础知识

使用场景

注意事项

v-on 绑定事件

语法

实例

$ref绑定事件

语法

实例

事件解绑

语法

实例


事件绑定

基础知识

使用场景

子组件==>父组件传数据

在父组件中给子组件绑定自定义事件,事件的回调在父组件中。

注意事项

组件上,默认绑定的事件为自定义事件;绑定原生事件的时候需要添加  native修饰符。

绑定一个名为click的自定义事件:<Demo @click="test"/>绑定一个click原生事件:<Demo @click.native="test"/>

v-on 绑定事件

语法

绑定事件在父组件中进行:


方法一:@事件名称=“函数名称”<Demo @atguigu="test"/>方法二:v-on:事件名称=“函数名称”<Demo v-on:atguigu="test"/> 在methods中配置回调函数

子组件传递参数:

<button @click="触发事件函数">结构中定义触发事件</button>触发事件函数中使用  this.$emit("事件名称", 参数);  传递参数

实例

父组件:

<template><Student @demo="Demotest" />//这里demo为事件名称  Demotest为函数名称</template><script>
import Student from "./Student.vue";export default {name: "School",components: {Student,},methods: {Demotest(name) {console.log("我是父组件,我是用v-on绑定事件传递参数", name);},},
};
</script>

子组件:

<template><button @click="sendStudent">点我传递学生信息</button></template><script>export default {name: "Student",data() {return {name: "张三",age: 18,};},methods: {sendStudent() {this.$emit("demo", this.name);//demo为事件名称,对应父组件的@demo事件//传递this.named这个参数},},};
</script> 

$ref绑定事件

语法

绑定事件在父组件中进行:

<School ref= "实例名称" ></School>this.$refs.实例名称.$on("触发事件名称", 回调函数)

子组件传递参数:

<button @click="触发事件函数">结构中定义触发事件</button>触发事件函数中使用  this.$emit("事件名称", 参数);  传递参数

实例

父组件:

<template><Student ref="student" />//student为实例名称并非函数名称</template><script>
import Student from "./Student.vue";
export default {name: "School",components: {Student,},methods: {getStusentName(name) {console.log("school收到了student的名字", name);},},mounted() {console.log(this.$refs.student.$on("aaa", this.getStusentName));//student是实例名称  aaa是事件名称//getStusentName 是回调函数  此处只能在methods配置回调函数或者使用箭头函数否则this指向会出问题},
};
</script>

子组件:

<template><button @click="sendStudentName">点我传递Studentname</button>//此处sendStudentName为触发事件的函数名称</template><script>export default {name: "Student",data() {return {name: "张三",age: 18,};},methods: {sendStudentName() {this.$emit("aaa", this.name);//aaa为事件名称 需要对应父组件的事件名称},};
</script> 

事件解绑

语法

解绑一个自定义事件:this . $off('事件名称') //字符串形式解绑多个自定义事件:this .$off([ ' 事件1', '事件2'])   //数组形式解绑所有自定义事件:this.$off()   //无参组件实例对象销毁,此组件身上的自定义事件全部失效vm 实例对象销毁, vm的所有 组件实例对象 身上的自定义事件全部失效

实例

mounted() {console.log(this.$refs.student.$on("aaa", this.getStusentName));},beforeDestroy() {this.$off("aaa");}

总结

v-on比$ref更加简单,但是$ref更加更加灵活。不局限于函数中而是可以分布在各个位置。

Vue 事件绑定与解绑相关推荐

  1. jQuery事件绑定与解绑

    一.jQuery事件 方法 描述 执行时机 click() 触发或将函数绑定到指定元素的click事件 单击鼠标时 dblclick() 触发或将函数绑定到指定元素的dblclick事件 双击鼠标时 ...

  2. 组件的自定义事件(绑定、解绑)

    温馨提示:总结在最下方,如若不想看代码,请滚动至最下方查看相关知识点,谢谢! App.vue <template><div class="app">< ...

  3. js元素事件绑定与解绑兼容代码

    一.元素事件的绑定方法兼容代码 为任意元素绑定任意事件的兼容代码 /*** 为任意元素绑定任意事件* @param {*} element 元素* @param {*} type 事件类型* @par ...

  4. JQuery_003_事件绑定与解绑

    $(function () {//第一个按钮通过on的方式绑定点击事件$("#btn1").on("click",function () {alert(&quo ...

  5. js 事件(绑定、解绑、三个阶段、相关方法)

    事件绑定与解绑: DOM0级事件(这类事件可以使用 return false来阻止事件往下执行,包含默认事件) 绑定: html内<input οnclick=''> js中el.οncl ...

  6. vue:组件自定义事件、绑定、解绑事件

    vue:组件自定义事件.绑定.解绑事件 自定义组件绑定事件: 使用方法:在引入组件中的methods定义一个回调方法,在组件标签中使用如下两种方式自定义事件,去到引入的组件的中,使用 this.$em ...

  7. jQuery的绑定与解绑方法

    jQuery的4种绑定方法 一.bind()与unbind() I.bind():绑定 1.定义 2.语法 3.参数 4.案例 (1)绑定单一事件 (2)绑定多个事件 II.unbind():解绑 1 ...

  8. Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版

    Kotlin版 蓝牙开发 (扫描设备.绑定.解绑) 前言 运行效果图 正文 ① 配置项目 ② 布局和样式 ③ 编码 1. 通知栏样式修改 2. 蓝牙设备列表适配器编写 3. 权限请求 4. 初始化蓝牙 ...

  9. Android 蓝牙开发(扫描设备、绑定、解绑)

    Android 蓝牙开发(扫描设备.绑定.解绑) 前言 效果图 一.配置项目 二.布局和样式 三.编码 四.源码 前言 公司最近给我丢了一个蓝牙开发的项目,不了解怎么办呢,那当然是从最基础的开始了,所 ...

最新文章

  1. 很好的Markdown开源库
  2. 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍
  3. Sass在编译中文注释中报错
  4. 1.4 torch_向量/矩阵求偏导
  5. 最牛B 的 Linux Shell 命令(一)
  6. OC中文件读取类(NSFileHandle)介绍和常用使用方法
  7. python3中文教程_Python视频教程:Python3入门+进阶让你快速掌握Python3
  8. 专栏 | 是什么成就了中国最具创新力的公司,帮他们的超脑计划孵出阿尔法蛋?...
  9. 基于 lumen 的微服务架构实践
  10. spring5.3.x源码构建
  11. 计算机信息检索自考知识点,计算机信息检索02139自考资料.docx
  12. Linux/Unix桌面趣事:让桌面下雪
  13. **使用InkScape绘制简易字母LOGO的教程**
  14. Docker容器访问外部世界
  15. 用python处理mp4与gif格式互转,简单到爆!
  16. 计算机cpu属于什么症状,电脑CPU超频过度有什么表现
  17. SpringMVC 之Resolver视图解析器笔记(六)
  18. 火山快手伪原创视频热门
  19. spring加载不到.properties中属性问题(spring中类:PropertyPlaceholderConfigurer出现多次)
  20. espn配置路由_华为敏捷网络解决方案.ppt

热门文章

  1. IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
  2. 在 Linux 中配置 tftpboot 服务器的 10 个步骤
  3. Mac电脑程序无响应怎么办?mac强制关闭软件的6种方法
  4. 苹果手机屏幕突然变暗_手机突然屏幕失灵
  5. Excel问题:excel表格的状态栏,不显示求和怎么办?
  6. 华为python673集_[译] 使用 Python 的 Pandas 和 Seaborn 框架从 Kaggle 数据集中提取信息...
  7. 计算机课word反思,教学反思Word文档
  8. 聊聊 iframe 的优缺点以及使用场景
  9. Kubernetes安装EFK日志收集
  10. vue移动端pdf在线预览,并实现手势缩放、移动