[Parameter]
используется для обозначения параметров компонента, которые могут быть установлены, когда компонент используется на другой странице.
Ссылка:
https://docs.microsoft.com/en-us/aspnet/core/blazor/components?view=aspnetcore-3.1#component -параметры
Для более подробного пояснения в этом коде ниже:
<div class="panel panel-default">
<div class="panel-heading">@Title</div>
<div class="panel-body">@ChildContent</div>
<button class="btn btn-primary" @onclick="OnClick">
Trigger a Parent component method
</button>
</div>
@code {
public string Title { get; set; }
public RenderFragment ChildContent { get; set; }
public EventCallback<MouseEventArgs> OnClick { get; set; }
}
Если вы не добавите атрибут [Parameter]
, это будут просто свойства publi c, которые нельзя задать с других страниц. То есть следующая строка будет недействительной:
<ChildComponent Title="Panel Title from Parent" />
Правильный способ должен быть:
<div class="panel panel-default">
<div class="panel-heading">@Title</div>
<div class="panel-body">@ChildContent</div>
<button class="btn btn-primary" @onclick="OnClickCallback">
Trigger a Parent component method
</button>
</div>
@code {
[Parameter]
public string Title { get; set; }
[Parameter]
public RenderFragment ChildContent { get; set; }
[Parameter]
public EventCallback<MouseEventArgs> OnClickCallback { get; set; }
}
Затем он позволяет вам устанавливать параметры всякий раз, когда мы используем этот компонент:
<ChildComponent Title="Panel Title from Parent"
OnClickCallback="@ShowMessage">
Content of the child component is supplied
by the parent component.
</ChildComponent>