【问题标题】:How can I update a value inside onMount() in Svelte?如何在 Svelte 中更新 onMount() 中的值?
【发布时间】:2021-10-04 11:26:40
【问题描述】:

我试图改变onMount里面一个变量的值,但是我不能,这是我的尝试,我怎样才能实现打印,例如这个...Here the REPL in svelte.dev

<script>


    import { onMount } from "svelte"
    
    let qrActive = false
    console.log(qrActive)

    const handleQr = () => {
        qrActive = !qrActive
    }

    const qr = (qrActive) => {
        if (qrActive) {
            console.log("working");
        } else {
            console.log("Nothing :v")  
        }
    }

    $: onMount( () => qr(qrActive))

</script>


<button on:click={handleQr}>
  Change!
</button>

【问题讨论】:

    标签: javascript svelte svelte-3 svelte-component


    【解决方案1】:

    onMount 只能运行一次,不能再次运行。 您也许可以使用 beforeUpdateafterUpdate 或只是反应性

    $: qr(qrActive)
    

    上面的代码会在每次qrActive改变时执行qr

    【讨论】:

      猜你喜欢
      • 2022-12-18
      • 2020-10-01
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 2021-11-30
      • 2022-11-24
      • 2020-09-17
      • 2020-03-16
      相关资源
      最近更新 更多