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