Vue2.0父组件与子组件之间的事件发射与接收实例代码


Posted in Javascript onSeptember 19, 2017

关于vue2.0的事件发射和接收,大家都知道$dispatch$broadcast在vue2.0已经被弃用了,取而代之的是更加方便快捷的方式,使用事件中心,组件通过它来互相通信,不管组件在哪一个层都可以通过实例化一个空Vue来实现。上案例:                       

Vue2.0父组件与子组件之间的事件发射与接收实例代码                                                                                                         

        这是自己写的一个小案例,功能就是点击子组件的加减按钮控制父组件的数量变化。原理就是子组件的加减按钮点击时分发事件,父组件接收事件。相信html和css的代码大家都没问题,这里不赘述,直接说js部分,首先在项目初始化时先给data添加名为eventHub的空Vue对象,作用是让任何组件都可以调用事件发射和接收的方法。代码如下:

Vue2.0父组件与子组件之间的事件发射与接收实例代码

        在点击加号按钮时向父组件派发事件:

Vue2.0父组件与子组件之间的事件发射与接收实例代码

        由于我写的json数据是两层的:

Vue2.0父组件与子组件之间的事件发射与接收实例代码

        所以两层循环把数据展示在页面上,要精确将某个食物的数量显示必须知道第一大类和这一大类下这个食物的索引值,在这里在html那里先把两个索引传进子组件,在分发事件时再和数量一起打包成对象发射给父组件。

Vue2.0父组件与子组件之间的事件发射与接收实例代码

        记得子组件要在props里对child,parent进行声明,接着是父组件对发射过来的countFunc进行接收:

Vue2.0父组件与子组件之间的事件发射与接收实例代码

        到了这个时候将子组件传过来的countFunc里的obj进行console.log(),你会发现父组件已经接收了一个对象:Object {count: 1, index: 0, parent: 0},也就是当我点击一下苹果的加号按钮时传过来count为1说明数量为1,parent索引为0说明是第一大类,index为0说明是第一大类下的苹果,至此已经实现了父子组件之间的事件发射和接收。

        完整代码如下:

1.父组件:

Vue2.0父组件与子组件之间的事件发射与接收实例代码

Vue2.0父组件与子组件之间的事件发射与接收实例代码

Vue2.0父组件与子组件之间的事件发射与接收实例代码

Vue2.0父组件与子组件之间的事件发射与接收实例代码

2.子组件:

Vue2.0父组件与子组件之间的事件发射与接收实例代码

Vue2.0父组件与子组件之间的事件发射与接收实例代码

Vue2.0父组件与子组件之间的事件发射与接收实例代码

总结

以上所述是小编给大家介绍的Vue2.0父组件与子组件之间的事件发射与接收,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 避免闭包引发的问题
Mar 17 Javascript
读jQuery之十 事件模块概述
Jun 27 Javascript
jQuery 关于伪类选择符的使用说明
Apr 24 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
Feb 13 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
AngularJS  ng-table插件设置排序
Sep 21 Javascript
Asp.Net之JS生成分页条的方法
Nov 23 Javascript
js放大镜放大购物图片效果
Jan 18 Javascript
Vue.js devtool插件安装后无法使用的解决办法
Nov 27 Javascript
使用electron将vue-cli项目打包成exe的方法
Sep 29 Javascript
JS中封装axios来管控api的2种方式
Sep 11 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 Javascript
详解ES6之async+await 同步/异步方案
Sep 19 #Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 #jQuery
jquery实现倒计时小应用
Sep 19 #jQuery
Angular客户端请求Rest服务跨域问题的解决方法
Sep 19 #Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 #jQuery
jQuery选择器之表单元素选择器详解
Sep 19 #jQuery
JS实现静态页面搜索并高亮显示功能完整示例
Sep 19 #Javascript
You might like
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2014年基建工作总结
2014/12/12 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android