svelte - 在 SvelteJS v3 中的循环内访问 Store 的值
问题描述
我正在从一组具有store
其某些属性的对象构建仪表板。每个商店都从不同的来源独立更新。
我的问题是我无法读取循环store
内的值。each
为了简化以下代码示例,我使用tweened
而不是store
以下代码也可用于 Svlete REPL https://svelte.dev/repl/9a17102e7d32471a940ba007e5b56db0?version=3.6.7
<script>
import { tweened } from 'svelte/motion';
const data = [{
label: 'one',
value: tweened(0)
}, {
label: 'two',
value: tweened(0)
}]
</script>
<ul>
{#each data as item}
<li>{item.label} ({item.$value})</li>
{/each}
</ul>
部分{item.$value}
返回undefined
解决方案
目前这是不可能的——“上下文商店”(#2016)存在一个问题,它可以让你做这种事情......
<ul>
{#each data as { label, value }}
<li>{label} ({$value})</li>
{/each}
</ul>
...但我们还没有。同时,解决方法是将商店传递给组件:
<ul>
{#each data as item}
<ListItem label={item.label} value={item.value}/>
{/each}
</ul>
在组件内部,您将拥有export let label, value
,并且可以$value
按预期使用。
推荐阅读
- mysql - Excel 中的批量更新查询不起作用
- r - 如何根据两个数据框中另一列中的值对列求和?
- angular - 如何在Angular模板中显示值为0的promise/observable?
- python - 尝试在 Python 中使用 zfill 和递增字符
- reactjs - 如何在自动完成组件(材质 UI)中的选项上添加 onClick 事件?
- javascript - Javascript TypeError,函数不是函数
- java - 如何检查,我实际上在哪个 contentView 中?安卓工作室
- sql - 是否有 SQL Logic 沿维度减少类型 2 表
- java - 当 ZooKeeper 在某些执行中不可用时,Java Curator/ZooKeeper 客户端无限期挂起
- amazon-web-services - AWS:boto3 中的 eb setenv (Python)