A10 PageTitle
今回は PageTitle コンポーネントについて解説します。PageTitle は、ブラウザのタブに表示されるページタイトルを設定するためのコンポーネントです。
対象となるのは Counter.razor です。4 行目を見ると、次のように記述されています。
@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;
...
}
この <PageTitle>Counter</PageTitle> の部分が、ブラウザのタブに表示される文字列を制御しています。実際にアプリを起動し、Home ページを表示している状態ではタブに「Home」と表示されています。
図1 Home ページを表示している状態。タブには「Home」と表示されている
左メニューから Counter をクリックして Counter ページへ遷移すると、タブの表示が「Counter」に変わります。これが Counter.razor の <PageTitle>Counter</PageTitle> によるものです。
図2 Counter ページへ遷移すると、タブの表示が「Counter」に変わる
この PageTitle の中身を実際に書き換えて、タブの表示が変わる様子を確認します。デバッグ実行中の Counter.razor の 4 行目、<PageTitle>Counter</PageTitle> の Counter の部分にカーソルを合わせます。
図3 Counter.razor の 4 行目。<PageTitle>Counter</PageTitle> の部分
ここを書き換えて、次のように AAA を追加します。
<PageTitle>CounterAAA</PageTitle>
図4 <PageTitle>CounterAAA</PageTitle> に書き換えたところ
保存したら、ツールバーのホット リロード(Alt + F10)ボタンを押します。ホット リロードを使うと、アプリを再起動しなくてもコードの変更をすぐに反映させることができます。
図5 ツールバーのホット リロード(Alt + F10)ボタン
ブラウザを確認すると、タブの表示が「CounterAAA」に変わっています。
図6 ホット リロード後、タブの表示が「CounterAAA」に変わった
同様に、今度は BBB に書き換えてみます。
<PageTitle>CounterBBB</PageTitle>
図7 <PageTitle>CounterBBB</PageTitle> に書き換えたところ
保存してホット リロードすると、タブの表示が「CounterBBB」に変わります。
図8 ホット リロード後、タブの表示が「CounterBBB」に変わった
さらに CCC に書き換えます。ファイルの保存時にホット リロードが実行されるよう設定しておけば、ホット リロードボタンを押さなくても、保存するだけでタブの表示に反映されます。
<PageTitle>CounterCCC</PageTitle>
図9 <PageTitle>CounterCCC</PageTitle> に書き換えて保存したところ
ボタンを押さずに保存しただけで、タブの表示が「CounterCCC」に変わっていることが確認できます。このように、ホット リロードを使うと再起動せずにコードの変更をすぐに反映できます。
図10 保存だけでタブの表示が「CounterCCC」に変わったことを確認
このように、Counter.razor の Counter という部分はお好きに変更していただいて構いません。PageTitle は、ブラウザのタブに表示されるページタイトルを設定するコンポーネントである、という内容でした。
A01_はじめに
A02_バージョンの確認
A03_プロジェクトの作成
A04_アプリの実行
A05_サンプルプログラムの構成
A06_Razorコンポーネント
A07_Razor構文
A08_@pageでURLを指定する
A09_@rendermode
A10_PageTitle
A11_HTMLの見出し
A12_pタグ
A13_単方向データバインド
A14_単方向データバインドの詳細
A15_Bootstrap
A16_ボタンクリックイベント
A17_イベント引数の受け取り方
A18_ここまでのまとめ
B01_新しいWebページを追加する方法
B02_サイドバーから画面を表示する
B03_サイドバーのアイコンを変更する方法
B04_計測値を表示する
B05_変数に置き換える
B06_最新の値でデータを更新する
B07_@usingで通常のC#コードを呼び出す
B08_画面遷移_aタグ
B09_画面遷移_aタグの見た目をボタンにする
B10_画面遷移_NavigationManagerでの遷移
B11_画面間のパラメータの受け渡し方法
B12_EscapeDataStringでエスケープする
B13_複数のパラメータを渡す
B14_任意のパラメータにする
B15_string以外の型をパラメータで使う方法
B16_DateTime型をパラメータで渡す方法
B17_引数2個のURLも型指定に変更する
B18_パラメータ属性をつけるときの注意点
B19_OnParametersSet
B20_OnInitialized
B21_OnInitializedが2回通る問題の対応
B22_ブラウザが開いている間の値を記憶する方法
B23_値の受け渡しとしてのProtectedSessionStorage
B24_非同期を想定したUIの制御
C01_一覧表示
C02_非同期での一覧表示
C03_table-striped
D01_入力エリア
D02_双方向データバインド
D03_入力データをリアルタイムで通知する方法
D04_placeholder
D05_入力エリアの横幅の調整
D06_テキストチェンジイベントを拾う方法
D07_プルダウン
D08_プルダウンのbootstrap
D09_プルダウンの選択している値をデータバインドで操作する
D10_プルダウンにリストの値を表示する
D11_プルダウンに未選択行を入れる
D12_プルダウンの入力を禁止する
D13_プルダウンのチェンジイベントを取得する
D14_チェックボックス
D15_チェックボックスにラベルを付ける
D16_複数のチェックボックスを並べる
D17_ラジオボタン
D18_ラジオボタンのデータバインド
D19_ラジオボタンのチェンジイベント
D20_ラジオボタンにbootstrapを適応する