将会像on:change
事件一样。
我没有使用这个事件,因为在一些苗条的库中,这个事件不会被触发,这意味着使用绑定和$
。
然而,Svelte似乎没有一个干净的语法。
我只能想到
这样的东西$: {
if (variable) {
doSomething();
}
}
其中每次variable
的值变化,doSomething()
都会运行。
但是if
语句的使用是奇怪的…如果variable
是一个布尔值呢?这样,当变量的值为false时,函数将不会运行。
这个想法是每次变量的值改变时都运行函数,不管新的值实际是什么。
我也试过
$: doSomething(variable);
它可以工作,但它也很奇怪,因为函数doSomething
可能不需要参数。在这种情况下,参数纯粹是为了添加variable
作为$
语法的依赖项…
也尝试了https://stackoverflow.com/a/56987526/11752443的答案,但这一个根本不起作用。而且在文档(https://stackoverflow.com/a/56987526/11752443)中也没有提到。
提前感谢!
Rich Harris建议的解决方案似乎确实有效:
$: variable, doSomething()
工作示例:https://svelte.dev/repl/c25bdd71c9764f1f809bd35737fbaeb9?version=3.53.1