Blazor WASM中如何正确将级联参数传递给子组件?
问题分析与解决方案
问题根源
你的代码存在两个关键错误,导致级联参数无法正常传递:
- 级联值绑定错误:ParentItem中
CascadingValue的Value="Name"是直接传递字符串"Name",而非绑定组件的Name参数,子组件自然接收不到传入的"MyName"。 - 特性语法不完整:ChildItem里的
[CascadingParameter(Name="Name"]缺少闭合双引号,编译器无法正确解析这个级联参数特性。
修正后的代码
ParentItem.razor
<CascadingValue Value="@Name"> @ChildContent </CascadingValue>
(确认ParentItem.razor.cs中的Name已标记为公共参数:[Parameter] public string Name { get; set; })
ChildItem.razor.cs
[CascadingParameter(Name = "Name")] public string Name { get; set; }
额外说明
- 传递级联值时,
CascadingValue的Value必须用@绑定到组件的参数/属性,否则会被识别为普通字符串。 - 特性注解的语法必须严格完整,引号、括号需正确配对,避免编译解析失败。
内容的提问来源于stack exchange,提问作者coolblue2000
相关产品推荐
相关产品推荐

