You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SvelteKit独立端点循环渲染问题:phones无法识别为对象

解决Svelte循环渲染端点数据时“phones”非可迭代对象的报错

你的问题出在数据结构处理上:

  • page/__data.json返回的是包含phones数组的外层对象,但你在load函数里直接把整个解析后的对象赋值给了phones变量,导致传递给组件的phones是个对象,而非可迭代的数组。{#each}指令只能循环数组这类可迭代结构,所以控制台会报错。

修正代码

只需要修改standalone.svelte里的load函数,从解析后的对象中取出真正的phones数组:

<script context="module">
    export const load = async ({ fetch }) => {
        const res = await fetch("page/__data.json", {
            headers: {
                "Accept": "application/json"
            }
        });
        const data = await res.json(); // 先接收完整的返回对象
        return {
            props: {
                phones: data.phones // 提取内部的phones数组作为props
            }
        }
    }
</script>

<script>
    export let phones;
</script>

{#each phones as phone}
   {phone.name}<br>
   {phone.price}<br>
{/each}

修改后,传递给组件的phones就是数组类型,{#each}可以正常循环渲染每一条手机数据了。

内容的提问来源于stack exchange,提问作者amarton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 01:06:39