Vue组件传值provide/inject

707 阅读1分钟

业务情景: 一个父组件下,有多个,多层子组件。 每个子组件都可以接收到父组件传递的值。
解决痛点:父子组件使用props层层传参问题。
官方图解:

components_provide.png
用法: 父组件(发送)

<script>
export default {
  data(){...}
  provide: {
    user: 'John Doe' //provide发送值,类型为对象
  },
  created():{...}
}
</script>

子组件(接收)

<script>
export default {
  data(){...}
  inject: ['user'], //inject接收值,类型为数组
  created():{...}
}
</script>