今天看vue的API,看到组件通信这一块,发现通信方式有好多种,但官网上的说明都是一笔带过,而且语句有点拗口,里面又有很多不理解的专有名词,以致于以前看的时候漏掉了很多东西,今天就好好总结一下。
一、props down, events up
通常情况下,子组件不处理业务逻辑,只向上派发事件,所以,父子组件间经常需要进行数据传递。
在 Vue 中,父子组件的关系可以总结为 props down, events up,基本流程是:
在父组件中,通过 Prop 向子组件传递数据
在子组件中,通过触发(emit)一个自定义事件,然后在父组件中使用 v-on 进行监听
二、Vue
Vuex 是一个专为 Vue.js 应用程序开发的集中式状态管理库。
三、vm.$root
对于非常小型的应用,使用这种方式确实很方便
四**、provide / inject**
provide 和 inject 主要在开发高阶插件/组件库时使用,并不推荐用于普通应用程序代码中。
五、Event Bus
Event Bus 又叫“全局事件总线”,是一个简易的全局状态管理器。
六、Vue.observable(object)
Vue.observable(object) 是 2.6.0 新增的一个全局 API,用于让一个对象变成响应式的,Vue 内部会用它来处理 data 函数返回的对象。