有点困惑为什么下面不起作用。我已经尝试过了,我不向函数传递参数,并且可以更新 UI,但如果我传递参数并对其执行相同的操作,它会在代码中更新它,我可以 console.log 它已退出,但 UI 未更新。
这有效:
<script>
import { text, toggle_class } from "svelte/internal";
let line1 = {name:"line 1", display:"some text here", originalText:"some init text", visible:true};
function toggleView(){
line1.visible = !line1.visible;
if(!line1.visible) line1.display = "*************"
else line1.display = line1.originalText
};
</script>
<main>
<button on:click="{toggleView}">{line1.display}</button>
</main>
这不起作用:
<script>
import { text, toggle_class } from "svelte/internal";
let line1 = {name:"line 1", display:"some text here", originalText:"some init text", visible:true};
function toggleView(field){
field.visible = !field.visible;
if(!field.visible) field.display = "*************"
else field.display = field.originalText
};
</script>
<main>
<button on:click="{toggleView(line1)}">{line1.display}</button>
</main>
我认为这可能是因为我从 Svelte 的角度将其分配给局部变量,但我不确定如何调用函数来使其可重用,因为我将对一堆行执行此操作。
任何帮助,将不胜感激。
暮色呼如
慕桂英546537
相关分类