自定义事件:

我们知道,父组件使用prop传递数据的子组件,但子组件怎么跟父组件通信呢?

这个时候Vue的自定义事件系统就派得上用场了.

自定义事件知道两件事:

(1).绑定

(2).触发

注意:$on(eventName,回调函数)

==================================================================

之前App.vue和TodoHeader.vue组件之间传递信息靠的是函数的形式

而现在vue自定义事件代替传函数这种形式

现在改成这这种形式:

名字就起回调函数的名字

<!--给TodoHeader标签对象绑定addTodo事件监听-->

以前是调用addTodo函数,现在没有了

现在需要触发事件($emit()),通知addTodo函数去调用

方法://触发自定义事件:addTodo

//触发事件需要指定事件名,还需要指定传递数据

//一触发触发事件,回调函数需要调用addTodo,需要接收todo

this.$emit('addTodo',todo)

===================================================================

第二种方法:使用$on(eventName)监听事件;vue中自己实现的一套机制,用的不多

如:现在只留下,没有传任何参数

但是,TodoHeader.vue中有触发事件

 这时,App.vue需要绑定一个监听

mounted(){// 执行异步代码

  //给<TodoHeder/>绑定addTodo事件监听

  //指定事件名和回调函数 

  //监听绑定在this上面,this现在指App.vue组件,而现在需要绑定TodoHeader.vue组件,不对

  this.$on('addTodo',this.addTodo)//有问题

}

故现在需要找到下面这个标签

header属性指向了<TodoHeader  ref="header"/>标签对像

(尚031)Vue_案例_自定义事件(组件间通信第2种方式:vue自定义事件)的更多相关文章

  1. [转] React 中组件间通信的几种方式

    在使用 React 的过程中,不可避免的需要组件间进行消息传递(通信),组件间通信大体有下面几种情况: 父组件向子组件通信 子组件向父组件通信 跨级组件之间通信 非嵌套组件间通信 下面依次说下这几种通 ...

  2. React 中组件间通信的几种方式

    在使用 React 的过程中,不可避免的需要组件间进行消息传递(通信),组件间通信大体有下面几种情况: 父组件向子组件通信 子组件向父组件通信 非嵌套组件间通信 跨级组件之间通信 1.父组件向子组件通 ...

  3. (尚029)Vue_案例_交互footer组件功能

    需要实现界面截图: 难点分析:sAllCheck必须定义为计算属性 1.想到问题: 一旦写一个组件,需要接收哪些属性?? 因为只有属性确定了,标签才好写 todos属性可以确定三个方面的显示 2.做交 ...

  4. vue-learning:31 - component - 组件间通信的6种方法

    vue组件间通信的6种方法 父子组件通信 prop / $emit 嵌套组件 $attrs / $liteners 后代组件通信 provide / inject 组件实例引用 $root / $pa ...

  5. (尚032)Vue_案例_消息订阅与发布(组件订阅与发布(PubSubJS库))

    组件订阅与发布(PubSubJS库) npm info pubsub-js 安装库 npm install --save pubsub -js ============================ ...

  6. 聊聊Vue.js组件间通信的几种姿势

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出. 文章的原地址:https://github.com/a ...

  7. vue组件之间通信的8种方式

    对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的常用方式的总结. props和$emit(常用) $attrs和$listeners 中央事件总线(非父子组件间通信) v- ...

  8. Vue组件之间通信的三种方式

    最近在看梁颠编著的<Vue.js实战>一书,感觉颇有收获,特此记录一些比价实用的技巧. 组件是MVVM框架的核心设计思想,将各功能点组件化更利于我们在项目中复用,这类似于我们服务端面向对象 ...

  9. (尚025)Vue_案例_静态组件

    页面效果展示截图: 第一步.首先拆分组件 (1).首先看一下是上下/左右结构 确定为:输入框+列表+底部; (2).确定名字 (3).创建对应的组件 ========================= ...

随机推荐

  1. 怎么看系统是UEFI还是Legacy BIOS启动模式?

    在命令行 cmd 中输入  msinfo32 ,找到右侧[BIOS模式],看到这里显示的是[uefi],那么说明是[uefi]方式启动的,反之显示为[BIOS],那么就是传统[BIOS]启动模式.如下 ...

  2. [更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥

    亲测有效.转载目的:提供一种方法,当然可以看一下原网站的更新及其他方法.转载:[更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥(100%工作),By Gideon    ...

  3. 命令创建.net core3.0 web应用详解(超详细教程)

    原文:命令创建.net core3.0 web应用详解(超详细教程) 你是不是曾经膜拜那些敲几行代码就可以创建项目的大神,学习了命令创建项目你也可以成为大神,其实命令创建项目很简单. 1.cmd命令行 ...

  4. php 获取当前IP地址

    function getIP() { return isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_X_FO ...

  5. 【转】socket通信-C#实现tcp收发图片音视频等字节流数据

    在日常碰到的项目中,经常碰到需要收发二进制数据的场景.比如要发送一张图片,要发送一首音频,要发送一个压缩包,要发送一个视频等等.这些数据并非字符串,而是二进制字节流数据.那么如何如何使用SharpSo ...

  6. c#结束练习题

    1.输入一个秒数,输出对应的小时.分钟.秒. 例:输入“4000“(秒),输出“1小时6分40秒”. 2.计算1-1/2+1/3-1/4+...-1/100的值. 3.写一个函数,对一个一维数组排序. ...

  7. react 使用的小建议

    使用pureRender,setState和Immutable.js来操作state Immutable 中文意思不可变. 不能直接修改state的值,要用setState 和Immutable re ...

  8. Python面向对象继承案例

    面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用,相同的代码不需要重复的编写 多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活 ...

  9. java.net.URLEncoder对中文的编码和解码

    // java.net.URLEncoder对中文的编码和解码String str = URLEncoder.encode("测试字符串", "utf-8"); ...

  10. English--名词从句

    English|名词从句 现在开始讲述关于名词从句的内容.从句大家都不陌生,但是学习了那么多年,什么是从句?接下来让我们一起来看看. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知 ...