我需要将数据从父组件传递到所有子组件,可能是链下的 3-4 级。为此使用事件并不是一个非常优雅的解决方案。
有没有一种方法可以定义组件的所有子组件都可以访问的全局变量?
我也不想使用参数,因为会有很多重复。
正是针对这个问题,ContextAPISvelte 中包含了
在你的“父母”中,你做
import { setContext } from 'svelte'
setContext('my-var', variable)
Run Code Online (Sandbox Code Playgroud)
对于任何您需要的孩子,您可以这样做:
import { getContext } from 'svelte'
const variable = getContext('my-var')
Run Code Online (Sandbox Code Playgroud)
此技术使my-var在所有后代中都可变。
请注意,如果您需要传递存储而不是常规变量,则此变量不是反应性的。
这是在文档中
| 归档时间: |
|
| 查看次数: |
4850 次 |
| 最近记录: |