0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MainLayoutでイベントが発火しない問題の解決方法

Posted at

現象

各コンポーネントにおいては、イベントが発火するのに対して、MainLayoutでイベントが発火しない件で少しハマってしまった。

原因

各コンポーネントでは、以下の定義を記載していたが、あまり意識していなかった。
きちんと一行一行理解して記載するのは基本中の基本なので反省……。

各コンポーネント
@rendermode InteractiveServer

この記載によって、対話型レンダーモードのサポートが有効化される。
公式ドキュメントにもある通り、これを有効化しないと、「静的サーバー側レンダリング」となるため、当然ながらイベントは発火しない。

修正方法

今回は、サーバー側のレンダリングモードにする。
レイアウトにおいては、上記@rendermodeを定義できないので、「App.razor」または「Routes.razor」のどちらかに以下の定義を追加する。

App.razor
<Routes @rendermode="InteractiveServer" />
Routes.razor
@rendermode InteractiveServer

なお、どちらに追加した場合でも、最上位に定義することになるため、アプリケーション全体に適用され、各コンポーネントごとに定義する必要はなくなる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?