# 组件通信

# $emit

子向父通信

# $broadcast

父向子通信

# 父子通信:父组件传递数据给子组件

1、通过props传值

  1. 如果需要传递动态属性值需要添加.sync修饰符
  2. 如果要在子组件中修改父组件数据需要在接受的时候添加 twoWay: true
  3. 如果需要数据双向绑定需要(.sync 和 twoWay 同时)

2、实用$broadcast将数据广播到所有子组件中

# 子父通信:子组件传递数据给父组件
  1. 在父组件中events中定义事件,在子组件$emit触发 (推荐)
  2. 在父组件methods中添加方法,在子组件中this.$invoke('../', '函数名称')
  3. 在子组件中通过this.$parent获取到父组件实例,调用父组件回调函数给父组件发送数据
# 同级:A、B两个同级组件的数据发送
  1. 在A组件中通过this.$invoke('../B', '函数名称') 调用B组件中的回调函数传递数据
  2. 将数据发送到父组件,父组件在传递给另一个子组件(代理方式)
  3. 自己封装一个发布订阅器(eventbus)
# 跨级:
  1. 逐层传递
  2. this.$invoke('组件路径', '函数名称')

使用redux可以做所有的数据管理

上次更新: 2019/4/23上午10:30:03