Svelte 响应式语句,仅在某些引用变量发生更改时更新

Svelte reactive statement which updates when only some of the referenced variables are changed

我已经使用 Svelte 一段时间了,这个问题真的很困扰我。 我怎样才能创建一个反应语句,当只有一些引用的变量发生变化时它会更新?

例如,我只想在 ab 发生变化时重新计算 d,而不是在 c 发生变化时重新计算:

<script>
    let a = 1;
    let b = 2;
    let c = 3;
    $: d = a + b + c;
</script>

但是 d 会在 abc 更改时重新计算。

我该怎么做?

您可以使用接受 ab 并关闭 c 的函数:

function update(a, b) {
  return a + b + c;
}

$: d = update(a, b);