李元秋*_*李元秋 14 javascript svelte
let c = 0;
$: console.log(c);
Run Code Online (Sandbox Code Playgroud)
如果我们想打印c它改变时的值,我们可以像上面那样写。
因为c在$指令中按字面使用,所以这个语句可以对c.
但是如果我只是想什么console.log('yes')时候c改变呢?
let c = 0;
$: console.log('yes');
Run Code Online (Sandbox Code Playgroud)
显然,该语句对console.log('yes')没有反应性c。
此外,如果我仍然console.log(c)将它放入一个函数中:
let c = 0;
function log() {
console.log(c);
}
$: log();
Run Code Online (Sandbox Code Playgroud)
log()对 也没有反应c。
那么,如果响应式代码实际上不包含我想要响应的变量,我该怎么办?
李元秋*_*李元秋 15
我在推特上问过,答案是:
链接到线程:https : //twitter.com/liyuanqiu/status/1149235193296773122
我最近一直在玩 svelte,需要在属性更改时调用函数。
在 Vue 中,你可以使用 来做到这一点watch,但我在 Svelte 中找不到等效的东西。
在我的项目中是这样做的:
let c = 0;
$: if (c) {
console.log("yes");
}
Run Code Online (Sandbox Code Playgroud)
我不是 100% 确定这是否是正确的方法。
希望里奇·哈里斯能插话,正如我想知道的那样。
| 归档时间: |
|
| 查看次数: |
4682 次 |
| 最近记录: |