组件之间通信 provide/inject
祖先级组件通信 provide/inject
// 祖先
provide () {
return {
fun: this.aa
}
}
aa (e) {
console.log(e) // 132
console.log(this) // 子元素中调用时,this指向绑定provide的祖先元素
}
// 子元素 使用
inject:['fun']
this.fun(132)
默认值

非响应式
官网说:provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。
就是 传递的是一个对象,修改的是这个对象的一个属性,这个修改是可以被响应到的。否则 传递的是字符串 或者 修改的是整个对象是不能被监测到



嵌套 provide链
provide 的核心就是沿着实例的$parent向上找寻_provided (_provided上面就有我们绑定的的数据),一旦找到 就会这个_provided 为准,所以再多个provide 嵌套中,以离自己最近的provide 为准。
