是否有 shorthand 用于插入具有多个级联值的 .NET Blazor 组件?
Is there a shorthand for inserting .NET Blazor components with multiple cascading values?
我正在处理 .NET Blazor 项目,需要将多个级联值传递给通用子窗体。以下代码应用了多个 [CascadingValue] 属性,可以很好地传递一些值,但在传递更多值时会变得有点麻烦。是否有 shorthand 用于通过单个 [CascadingValue] 属性传递多个值?如果没有,是否有更紧凑的方式来传递更多的值? (顺便说一句——我知道有其他方法可以给每个属性命名)。
<CascadingValue Value="@Value1" Name = "Name1" >
<CascadingValue Value="@Value2" Name = "Name2" >
<CascadingValue Value="@Value3" Name = "Name3" >
<FooComponent />
</CascadingValue>
</CascadingValue>
</CascadingValue>
您可以创建一个包含所有要传递的值的对象,然后像这样使用它
<CascadingValue Value="@AnyObject" IsFixed="true">
</CascadingValue>
基于 Surinder 的回答,这里是一个扩展示例,其中包含用于获取 object.
的 child 代码
PARENT
<CascadingValue Value="@anyObject" IsFixed="True" Name="AnyName">
<ComponentName />
</CascadingValue>
@code {
private ObjectType anyObject = new();
}
CHILD
@code {
[CascadingParameter(Name = "AnyName")]
private ObjectType anyObject { get; set; }
}
我正在处理 .NET Blazor 项目,需要将多个级联值传递给通用子窗体。以下代码应用了多个 [CascadingValue] 属性,可以很好地传递一些值,但在传递更多值时会变得有点麻烦。是否有 shorthand 用于通过单个 [CascadingValue] 属性传递多个值?如果没有,是否有更紧凑的方式来传递更多的值? (顺便说一句——我知道有其他方法可以给每个属性命名)。
<CascadingValue Value="@Value1" Name = "Name1" >
<CascadingValue Value="@Value2" Name = "Name2" >
<CascadingValue Value="@Value3" Name = "Name3" >
<FooComponent />
</CascadingValue>
</CascadingValue>
</CascadingValue>
您可以创建一个包含所有要传递的值的对象,然后像这样使用它
<CascadingValue Value="@AnyObject" IsFixed="true">
</CascadingValue>
基于 Surinder 的回答,这里是一个扩展示例,其中包含用于获取 object.
的 child 代码PARENT
<CascadingValue Value="@anyObject" IsFixed="True" Name="AnyName">
<ComponentName />
</CascadingValue>
@code {
private ObjectType anyObject = new();
}
CHILD
@code {
[CascadingParameter(Name = "AnyName")]
private ObjectType anyObject { get; set; }
}