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与CSS复习(三)
Jun 29 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
深入理解Javascript动态方法调用与参数修改的问题
Dec 10 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
js实现音频控制进度条功能
Apr 01 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 06 Javascript
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
解决layui页面按钮点击无反应,也不报错的问题
Sep 29 Javascript
浅析JavaScript预编译和暗示全局变量
Sep 03 Javascript
使用Canvas绘制一个游戏人物属性图
Mar 25 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
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
详细分析单线程JS执行问题
2017/11/22 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
python让函数不返回结果的方法
2020/06/22 Python
python 利用zmail库发送邮件
2020/09/11 Python
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
门卫班长岗位职责
2013/12/15 职场文书
技校个人求职信范文
2014/01/25 职场文书
求职自我评价范文100字
2014/09/23 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
给老婆的检讨书
2015/01/27 职场文书
团结友爱主题班会
2015/08/13 职场文书
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang