发布网友 发布时间:2023-03-27 15:51
共1个回答
热心网友 时间:2023-10-24 05:38
vue官方文档解释:这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。
和prop类似,那为什么还需要 provide / inject 呢?
因为在现实的项目中,我的一个组件嵌套着好几层组件,如果运用prop一层层的嵌套传递,就非常的麻烦。而 provide / inject 就解决了这个问题,只要在顶层父级 provide 里声明对象或方法,那么下一层级无论多深都能够通过 inject 来访问到 provide 的数据。
1.无法追踪数据的来源
在任意层级都能访问导致数据追踪比较困难,不知道是哪一个层级声明了这个或者不知道哪一层级或若干个层级使用了。
2.导致组件间的耦合
它将导致组件于组件间的耦合,使得组件复用性受到影响。