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

The*_*Guy 5 svelte

我已经使用 Svelte 一段时间了,这个问题确实让我很烦恼。如何创建一个反应式语句,当仅更改某些引用的变量时该语句就会更新?

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

<script>
    let a = 1;
    let b = 2;
    let c = 3;
    $: d = a + b + c;
</script>
Run Code Online (Sandbox Code Playgroud)

但当、、 或发生变化d时会重新评估。abc

我怎么能这么做呢?

Fel*_*ing 11

您可以使用接受aandb并结束的函数c

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

$: d = update(a, b);
Run Code Online (Sandbox Code Playgroud)