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

Svelte中如何向孙组件传递Props?为何孙组件接收值为null?

Svelte中prop传递给孙组件始终为null的原因及解决方法

问题原因

  • 根组件存在组件名错误:导入的是FirstChild,但渲染时用了<My />标签,这会导致子组件无法正确接收amount(不过你的子组件控制台输出了3,推测是代码输入时的笔误)
  • 核心问题:子组件FirstChild接收到amount后,没有将该属性传递给孙组件MyChild,孙组件只能使用默认的null值

修正后的代码

根组件

<script>
  import FirstChild from "./FirstChild.svelte";
  let amount = 3;
</script>

<FirstChild {amount} />

子组件(FirstChild)

<script>
  import MyChild from "./MyChild.svelte";
  export let amount = null;
  
  $: {
    console.log("amount child", amount); // 3
  }
</script>

<MyChild {amount} />

孙组件(MyChild)

无需修改,此时会正确接收amount值,控制台将输出3,页面显示My amount is 3

补充说明

在Svelte中,组件不会自动向下传递未显式声明的prop,每一层中间组件都需要主动将需要传递的属性传给下一级组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:35:21