svelte - Svelte:使用基于模块上下文变量的反应式语句
问题描述
我想使用跨组件的多个实例共享的代码来启动每个组件内的代码。
我尝试使用反应式语句来做到这一点:
<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
解决方案
更改what
为 awritable
似乎可以解决问题:
<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
推荐阅读
- node.js - 用cheerio(node.js)抓取图像不起作用
- java - Apache Camel 究竟是如何处理 JMSReplyTo 的?骆驼什么时候隐含地利用目的地?
- javascript - 使用 Firebase 中的特定键打印数据
- makefile - 驱动程序的生成文件不接受路径中的空格,如何解决?
- javascript - 用年份连字符javascript格式化每个月5年的数据
- typescript - 量角器打字稿错误:WebDriverError:java.net.ConnectException:连接被拒绝:从多选列表中选择值时连接
- entity-framework-6 - 代码首先,在 DateTime2 字段上设置 GetDate()
- python - Opencv检测不规则多边形区域的入侵
- angular - RxJS 可观察合并
- java - 为什么不重绘 JLabel?