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 相关文章推荐
JS 统计时间
Mar 09 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
Ajax中解析Json的两种方法对比分析
Jun 25 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
Jul 27 Javascript
前端微信支付js代码
Jul 25 Javascript
BootStrap表单验证实例代码
Jan 13 Javascript
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
通过命令行创建vue项目的方法
Jul 20 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
小程序如何支持使用 async/await详解
Sep 12 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数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php中常用的预定义变量小结
2012/05/09 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
jquery 上下滚动广告
2009/06/17 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
python正则表达式的使用
2017/06/12 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
python如何求解两数的最大公约数
2018/09/27 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
如何写毕业求职自荐信
2013/11/06 职场文书
护理个人求职信范文
2014/01/08 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
教师求职信怎么写
2015/03/20 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis