vue组件间的通信

 

 

1.通过props传递 --- 父传子

2.通过$emit触发自定义事件 --- 子传父

3.使用ref可以在父组件中获取以及改变子组件data,调用子组件事件 --- 父得子

4.子组件中使用$parent获取改变父组件的data数据,动用父组件方法 --- 子得父

5.通过EventBus构建一个中央时间总线,一个兄弟组件通过$emit触发事件,在另一个兄弟组件中通过$on监听自定义事件 --- 兄弟组件间通信

6.使用$root,通过共同祖辈$root搭建通信侨联  --- 兄弟组件间通信

7.使用provide 与 inject,在祖先组件定义provide属性,返回传递的值;在后代组件通过inject接收组件传递过来的值 --- 子孙组件与祖先组件通信

// 祖先组件
provide(){  
    return {  
        foo:'foo'  
    }  
} 
// 祖先组件中动态修改provide参数
this._provided.foo = 'zql'



//  子孙组件
inject:['foo'] // 获取到祖先组件传递过来的值  

注:provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。

8.vuex状态机管理

 

posted on 2020-12-29 16:46  活在当下zql  阅读(94)  评论(0)    收藏  举报