0
点赞
收藏
分享

微信扫一扫

vue传值之provide和inject的使用

爱我中华8898 2022-04-07 阅读 103

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

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

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

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

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

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

举报

相关推荐

0 条评论