Vue祖先组件向⼦孙组件通信(provideinject)
Vue祖先组件向⼦孙组件通信(provide / inject)
说明:这对选项需要⼀起使⽤,允许⼀个祖先组件向其所有⼦孙后代注⼊⼀个依赖,不论组件层次有多深(这也是通过props传值不好实现的地⽅),并在起上下游关系成⽴的时间⾥始终⽣效。
提⽰:provide 和 inject 绑定并不是可响应的。这是刻意为之的。然⽽,如果你传⼊了⼀个可监听的对象,那么其对象的属性还是可响应的。
demo:
祖先组件:内森黑尔
翻译器中文翻英文
export default {
上海师范大学天华name: "parent",
data() {
return {
name: "Flying bird's blog"
}
},
provide() {
危险的材料return {
provideData: this.name // 祖先组件提供数据
pesa}pahs
双性恋英文}
}
⼦孙组件:
export default {
name: "child",
caac
inject: ["provideData"], // ⼦孙组件接受数据
created () {
console.log(this.provideData) // Flying bird's blog
}
tremendous}
正确使⽤provide和inject
qq网名英文带翻译1. provide/inject是解决组件之间的通信问题的利器,不受层级结构的限制。但也不是随便去滥⽤,通信代表着耦合。
2.provide/inject主要为⾼阶插件/组件库提供⽤例。并不推荐直接⽤于应⽤程序代码中。