provideLocal
为当前组件提供局部状态,不影响子组件。
函数签名
typescript
function provideLocal<T>(key: InjectionKey<T> | string, value: T): void参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
key | InjectionKey<T> | string | 是 | 注入键 |
value | T | 是 | 要提供的值 |
返回值
| 类型 | 说明 |
|---|---|
void | 无返回值 |
工作原理
- 在当前组件实例上设置特殊标记
- 使用 Vue 的
provide(key, value)提供值 - 标记该值为"局部提供"
- 子组件使用普通
inject无法获取,需使用injectLocal
与普通 provide 的区别:普通 provide 会向下传递到所有子孙组件,provideLocal 只在当前组件有效。