Svelte:基于模块上下文变量使用反应式语句

时间:2019-12-03 22:31:04

标签: svelte svelte-component

我想使用在组件的多个实例之间共享的代码来在每个组件内初始化代码。

我尝试使用反应式语句来做到这一点:

<script context="module">
    let what = 0;
</script>

<script>
    export let number;
    $: if (what === number) [...]
</script>

但是对what的更改不会触发该反应式语句的重新运行。

此REPL为什么不起作用,如何解决?

https://svelte.dev/repl/38b94490982f4f3c80644fd364b50723?version=3.16.0

1 个答案:

答案 0 :(得分:1)

what更改为writable似乎可以解决问题:

<script context="module">
    import { writable } from 'svelte/store';
    const what = writable(0);
</script>

<script>
    export let number;
    $: if ($what === number) [...]
</script>

https://svelte.dev/repl/f667f3eb6b7d453da1473d5e26268814?version=3.16.0