Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Svelte 中,您可以绑定checked复选框的属性。然后,您可以observe在组件上绑定值,其回调提供当前值和先前值。
checked
observe
但是,当我尝试评估复选框状态的变化时,当前值和以前的值似乎相同。请看这个例子来说明问题。我在这里做错了吗?
不,你没有做错什么——这是观察者工作方式的一个怪癖,以及 JavaScript 中对象和数组的可变性质。
观察者正在观察对象而不是checked属性,并且对象本身实际上并没有改变。相反,您需要item.checked直接观察。
item.checked
使用内置observe方法是不可能的,但您可以使用 svelte-extras 来做到这一点observeDeep——这里有一个演示。
observeDeep