Blazor コンポーネント
コンポーネントは、.razor
ファイルとして定義される
ファイル名は大文字を先頭にする
例
Counter.razor
@page "/counter"
@rendermode InteractiveServer
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
[Parameter]
public int IncrementAmount { get; set; } = 1;
private void IncrementCount()
{
currentCount += IncrementAmount;
}
}
呼び出し側
<Counter />
で呼び出す
<Counter IncrementAmount="10" />
で呼び出すと、IncrementAmount
の初期値を変更できる
※呼び出し側ごとにパラメータを変えてコンポーネントが使える
@page "/"
<PageTitle>Home</PageTitle>
<h1>Hello, world!</h1>
Welcome to your new app.
<Counter IncrementAmount="10" />
@pabe
ディレクティブ
Blazor へのルート テンプレートを提供する
@page "/example"
とすると https://domain.com/example にルーティングされる
@code
ディレクティブ
次のブロック内のテキストが C# コードであることを宣言する
メンバー アクセス ディレクティブ
レンダリング ロジックにメンバーの値を含める場合は、@ 記号の後に、メンバーの名前などの C# 式を指定
つまり、@code
ディレクティブ内に記述したプライベート変数をレンダリングできる