Blazor:在其 parent 中有一个 child 组件更新模型的属性
Blazor: have a child component update properties of a model in its parent
我正在寻找一种方法来编辑 class/model 实例的参数,该实例从 parent 的 child 持续存在于 parent 中。
我有一个组件可以处理字符串的编辑,这些字符串通常是较大模型的一部分。
假设我有这些模型:
public class Customer
{
public string FirstName;
public string LastName;
}
public class Arena
{
public string Name;
public string Location;
}
我的 parent 组件看起来像这样:
.cs 部分(命名为:Parent.razor.cs):
public partial class Paren : ComponentBase
{
public Arena myArena;
public Customer myCustomer;
protected override async Task OnInitializedAsync()
{
myArena = new Arena() { Location = "Centrum", Name = "TheBigGlobe" };
myCustomer = new Customer() { FirstName = "kalle", LastName = "anka" };
}
}
及其 .razor 部分(命名为:Parent.razor)
<h1>component test</h1>
@if(myArena != null)
{
//pass paramenter by ref to child
}
如何创建一个 child 组件,将其更改绑定到 parent 中未知模型的实例和 属性?
例如,如何让 child 组件能够将 myArena.Name 的引用作为参数,然后在 parent 组件中更新它?请注意,传递给 child 的引用可以是来自任何其他 class-instance.
的任何其他参数,这一点很重要
我正在寻找的是一种编辑 class/model 实例参数的方法,该实例从 parent 的 child 持续存在于 parent 中。
您可以轻松创建子组件并传递 arena 参数。
<childComponent arena={myArena}> </childComponent>
@code {
[parameter] public Arena arena {get; set;}
}
如果你想从子组件中获取修改过的数据,你可以使用 EventCallBack。
这里有一篇文章描述了communicates between two components.
的几种方法
我正在寻找一种方法来编辑 class/model 实例的参数,该实例从 parent 的 child 持续存在于 parent 中。
我有一个组件可以处理字符串的编辑,这些字符串通常是较大模型的一部分。
假设我有这些模型:
public class Customer
{
public string FirstName;
public string LastName;
}
public class Arena
{
public string Name;
public string Location;
}
我的 parent 组件看起来像这样: .cs 部分(命名为:Parent.razor.cs):
public partial class Paren : ComponentBase
{
public Arena myArena;
public Customer myCustomer;
protected override async Task OnInitializedAsync()
{
myArena = new Arena() { Location = "Centrum", Name = "TheBigGlobe" };
myCustomer = new Customer() { FirstName = "kalle", LastName = "anka" };
}
}
及其 .razor 部分(命名为:Parent.razor)
<h1>component test</h1>
@if(myArena != null)
{
//pass paramenter by ref to child
}
如何创建一个 child 组件,将其更改绑定到 parent 中未知模型的实例和 属性?
例如,如何让 child 组件能够将 myArena.Name 的引用作为参数,然后在 parent 组件中更新它?请注意,传递给 child 的引用可以是来自任何其他 class-instance.
的任何其他参数,这一点很重要我正在寻找的是一种编辑 class/model 实例参数的方法,该实例从 parent 的 child 持续存在于 parent 中。
您可以轻松创建子组件并传递 arena 参数。
<childComponent arena={myArena}> </childComponent>
@code {
[parameter] public Arena arena {get; set;}
}
如果你想从子组件中获取修改过的数据,你可以使用 EventCallBack。
这里有一篇文章描述了communicates between two components.
的几种方法