vue传值之provide和inject的使用

9 篇文章 0 订阅
6 篇文章 1 订阅

在大多数遇到的vue项目中,我们的通信一般是建立在父子之间,也就是说父向子传递(props)和父取子值(引用refs)就基本可以实现。对于更复杂的数据处理可能就会选择vuex的方式,鲜少会用到provide和inject。

这次使用的契机是,在开发项目中,子项目和父项目是分开进行的,并且是不能直接作用于组件之上的。但是子项目需要对父项目的一部分内容进行操作,provide和inject就派上了用场。

在vue的官方文档中有这么一句话:

provide 和 inject 主要为高阶插件/组件库提供用例。并不推荐直接用于应用程序代码中。

provide和inject这对选项是一起使用的,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。
通俗的说就是:组件得引入层次过多,我们的子孙组件想要获取祖先组件得资源,那么怎么办呢,总不能一直取父级往上吧,而且这样代码结构容易混乱。这个就是这对选项要干的事情。

其中具体用法可以参考博友的文档https://segmentfault.com/a/1190000021216039

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值