我正在从API获取引号,并且获取似乎可以正常进行,因为第一个console.log被正确调用,但第二个没有被正确调用。内容是API中json对象中的一个字段。

<script>
    import { onMount } from "svelte";
    let non = [];


    onMount(async function() {
        const res = await fetch("https://api.quotable.io/random");
        const json = await res.json();
        non.push(json);
        console.log(non);
    });

</script>

<div>
   {#each non as {content}}
   <p>{content}{console.log(content)}</p>
   {/each}
</div>

最佳答案

由于Svelte的反应性是由分配触发的,因此使用数组
  pushsplice之类的方法不会自动导致更新。


在您的示例中,如果将non.push(json)替换为non = [json],似乎是work

https://svelte.dev/tutorial/updating-arrays-and-objects

关于javascript - 如何使用Svelte获取远程API?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57760464/

10-09 23:32