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 只在当前组件有效。