vue多层级嵌套组件传值provide和inject
常⽤的⽗⼦组件通信⽅式都是⽗组件绑定要传递给⼦组件的数据,⼦组件通过props属性接收,⼀旦组件层级变多时,采⽤这种⽅式⼀级⼀级传递值⾮常⿇烦,⽽且代码可读性不⾼,不便后期维护。
vue提供了provide和inject帮助我们解决多层次嵌套嵌套通信问题。在provide中指定要传递给⼦孙组件的数据,⼦孙组件通过inject注⼊祖⽗组件传递过来的数据。
急冻人provide
是⼀个对象,或者是⼀个返回对象的函数。⾥⾯呢就包含要给⼦孙后代的东西,也就是属性和属性值。注意:⼦孙层的provide会掩盖祖⽗层provide中相同key的属性值百度翻译在线
学习电脑那个好
scene是什么意思provide: {
msg: 'hello world!'brasrie
}
bingyi
inject
forever什么意思
⼀个字符串数组,或者是⼀个对象。属性值可以是⼀个对象,包含from和default默认值,from是在可⽤的注⼊内容中搜索⽤的 key (字符串或Symbol),意思就是祖⽗多层provide提供了很多数据,from属性指定取哪⼀个key;default指定默认值。
inject: {
buffalomsg: {
from: 'msg',burster
default: ''
}
扫地的英文}
其实,provide 和 inject 主要为⾼阶插件/组件库提供⽤例。并不推荐直接⽤于应⽤程序代码中。因为数据追踪⽐较困难,不知道是哪⼀个层级声明了这个或者不知道哪⼀层级或若⼲个层级使⽤了。