Skip to content

provideLocal

为当前组件提供局部状态,不影响子组件。

函数签名

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

参数

参数名类型必填说明
keyInjectionKey<T> | string注入键
valueT要提供的值

返回值

类型说明
void无返回值

工作原理

  1. 在当前组件实例上设置特殊标记
  2. 使用 Vue 的 provide(key, value) 提供值
  3. 标记该值为"局部提供"
  4. 子组件使用普通 inject 无法获取,需使用 injectLocal

与普通 provide 的区别:普通 provide 会向下传递到所有子孙组件,provideLocal 只在当前组件有效。