【Vue组件通信】
组件传值的几种情况
- 父组件传子组件
- 子组件传父组件
- 兄弟组件之间的通信
- 非兄弟组件通信
父传子
父组件在子组件上传一个参数,子组件接收
props
子传父
父组件在子组件上加一个
事件监听器
,并绑定事件,
子组件内部添加一个事件,用以触发事件监听器
在事件中使用$emit('事件监听器名', value)
的方式触发事件,第二个参数传递通信数据
兄弟组件通信
新建一个
Bus.js
文件,作为事件总线
,引入vue
并输出一个新的vue
实例
兄弟组件c1
c2
内分别引入Bus.js
模块
给兄弟组件c1
添加一个$on('事件监听器名称', method)
事件监听器
给兄弟组件c2
添加一个$emit('事件监听器名称',value)
事件触发器
非兄弟组件(如祖父组件与曾孙组件同行)
使用
vuex
共享状态