最近看源码有一段对于整合参数的代码,vue
normalizeProps(child, vm) normalizeInject(child, vm) normalizeDirectives(child)
想象里边的Inject不多用到,因此查了一下资料,vuex
一般组件传参是有两种状况ide
会有一种状况隔代组件传参,这时候能够利用props一层一层传递下去,可是代码就比较乱了
因此就有了provide/inject
进行隔代组件传递
父组件code
<template> <div class="test"> <son></son> </div> </template> <script> export default { name: 'Test', provide: { name: 'Garrett' } } </script>
子组件orm
<template> <div> {{name}} </div> </template> <script> export default { name: 'Garrettson', inject: [name] } </script>
对于使用场景,基础组件应该使用props,我我的以为通常用于比较复杂业务,提供基础数据,好比最近的基金详情页。能够直接在最顶层提供基金的基本信息,而后子组件均可以访问的到,不用每一个单独提供detail的props 属性ip