vue
实现传值很多,什么props
,provide/inject
,bus
,vuex
,等等,但是最近遇到一个业务场景
- 组件
A
是父级组件,组件B
是子组件,组件C
是孙子组件,关系是相互引用关系,A
组件中引用了B
组件,B
组件引用了C
组件
1)那么问题来了,就是当前三个组件之间传值,用props
一个传一个吗,有点麻烦,万一我嵌套四个,五个呢
2)用vuex
的话,又觉得大材小用了,就一个内部传值,而且就传递一个ID
3)用localStorage
也许是一个不错的选择,但是万一这样的场景很多呢,全部存本地也不太好
SO
,v-bind="$attrs"
搭配inheritAttrs
属性成为了最佳选择,并且数据还是响应式
-
实现业务,父组件拿到数据传递到孙子组件
-
在子组件中将父组件的数据穿透传递下去
-
在子孙组件中获取参数