• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • provide()

    提供一个可以由后代组件注入的值。

    类型

    function provide<T>(key: InjectionKey<T> | string, value: T): void
    


    细节

    provide()接受两个参数:键,可以是字符串或符号,以及要注入的值。

    使用 TypeScript 时,键可以是转换为的符号InjectionKey。Vue 提供的扩展实用程序类型,Symbol()可用于在provide()和之间同步值类型inject()

    与生命周期挂钩注册 API 类似,provide()必须在组件setup()阶段同步调用。


    例子

    <script setup>
    import { ref, provide } from 'vue'
    import { fooSymbol } from './injectionSymbols'
    
    // provide static value
    provide('foo', 'bar')
    
    // provide reactive value
    const count = ref(0)
    provide('count', count)
    
    // provide with Symbol keys
    provide(fooSymbol, count)
    </script>
    

    下篇:inject()