1

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

但是,当我尝试评估复选框状态的变化时,当前值和以前的值似乎相同。请看这个例子来说明问题。我在这里做错了吗?

4

1 回答 1

2

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

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

使用内置observe方法是不可能的,但您可以使用 svelte-extras 来做到这一点observeDeep——这里一个演示

于 2017-07-21T16:14:59.220 回答