可以评估绑定复选框的更改吗?

Can changes be evaluated for bound checkboxes?

在 Svelte 中,您可以绑定复选框的 checked 属性。然后,您可以 observe 组件上的绑定值,其回调提供当前值和先前值。

但是,当我尝试评估复选框状态的变化时,当前值和先前值似乎相同。 Please see this example to illustrate the problem。我是不是哪里做错了?

不,你没有做错什么——这是观察者工作方式的一个怪癖,以及 JavaScript 中对象和数组的可变性质。

观察者正在观察 对象 而不是 checked 属性,对象本身实际上并没有改变。相反,您需要直接观察 item.checked

内置的 observe 方法无法做到这一点,但您可以使用 svelte-extrashere's a demo 中的 observeDeep 方法做到这一点。