Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
38 lines
855 B
Markdown
38 lines
855 B
Markdown
---
|
|
category: State
|
|
---
|
|
|
|
# provideLocal
|
|
|
|
Extended `provide` with ability to call `injectLocal` to obtain the value in the same component.
|
|
|
|
## Usage
|
|
|
|
```vue
|
|
<script setup>
|
|
import { injectLocal, provideLocal } from '@vueuse/core'
|
|
|
|
provideLocal('MyInjectionKey', 1)
|
|
const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1
|
|
</script>
|
|
```
|
|
|
|
## Type Declarations
|
|
|
|
```ts
|
|
export type ProvideLocalReturn = void
|
|
/**
|
|
* On the basis of `provide`, it is allowed to directly call inject to obtain the value after call provide in the same component.
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* provideLocal('MyInjectionKey', 1)
|
|
* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1
|
|
* ```
|
|
*/
|
|
export declare function provideLocal<T, K = LocalProvidedKey<T>>(
|
|
key: K,
|
|
value: K extends InjectionKey<infer V> ? V : T,
|
|
): ProvideLocalReturn
|
|
```
|