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>
