1. props和$emit
- 父传子:主要是通过
props来实现的
具体实现:父组件通过import引入子组件并注册,在子组件的标签上添加要传递的属性,子组件通过props接收,接收有两种形式,一是通过数组形式[‘要接收的属性’],二是通过对象形式{}来接收,对象形式可以设置要传递的数据和默认值,而数组只是简单的接收。 - 子传父:主要通过
$emit来实现
具体实现:子组件通过绑定事件触发函数,在其中设置this.$emit(‘要派发的自定义事件’,要传递的值), $emit中有两个参数一是要派发的自定义事件,第二个参数是要传递的值 然后父组件中,在这个子组件身上@派发的自定义事件,绑定事件触发的methods中的方法接受的 默认值,就是传递过来的参数
2.中央事件总线(bus)
如果两个组件不是父子关系呢?这种情况下可以使用中央事件总线的方式。
新建一个Vue事件bus对象,然后通过bus.emit触发事件,bus.emit触发事件,bus.emit触发

本文详细介绍了Vue.js中组件间通信的多种方式,包括props和$emit进行父子通信,中央事件总线实现非父子组件通信,provide和inject进行跨级通信,v-model在双向数据绑定中的应用,$root访问根组件,以及parent和children属性的使用。同时,还探讨了中间人模式在组件通信中的角色和实现。
最低0.47元/天 解锁文章
916





