0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Blazorのプロジェクト構成を学ぶ

Last updated at Posted at 2021-12-09

#はじめに

暇な時間にVisual Studio 2019をいじって遊んでたらBlazorなるものを見つけたので、少し動かしてみてました。
ASP.NET MVCやWeb APIはいじったことがありましたが、Blazorは触ったことがないのでちょっと学んでみようと思います。

#プロジェクト構成

Visual Studio 2019を起動し、「新しいプロジェクトの作成」から「Blazor WebAssembly アプリ」を選択して作成します。
image.png

プロジェクト構成は以下のようになってました。
※認証ありにしてるのでAuthentication.razorが混ざってます

image.png

##Pagesフォルダについて

Pagesフォルダ内には、メニューの選択時に出力されるそれぞれのページファイルが格納されています。

##Counter.razorについて

Blazorのプロジェクトをデバッグ実行したときに、デフォルトで実装されているカウンターアプリのソースコードです。

Counter.razor
@page "/counter"

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary"  @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
    }

}

@pageはページのURL、@codeは処理を記述するブロックです。

@code内で、currentCountという変数が宣言され、IncrementCountで1ずつ足していく処理が書かれています。
このIncrementCountというメソッドの動きを、ボタンを押すたびに働くようにしてあり、1ずつ足されていったcurrentCountがpタグを使って画面上に表示されます。

image.png

「Click me」を押すと、メソッドが働いて加算されたcurrentCountが表示されます。

##現在時刻の表示&更新機能を実装する

上の動きを使って、Homeに現在時刻の表示と、ボタンを押すことによって時刻が更新される機能を実装します。

Index.razor
@page "/"

<h1>Hello, world!</h1>

<div class="alert alert-warning" role="alert">
    Before authentication will function correctly, you must configure your provider details in <code>Program.cs</code>
</div>

Welcome to your new app.

<SurveyPrompt Title="How is Blazor working for you?" />

<p>現在時刻: @now</p>
<button class="btn btn-primary" @onclick="dispDate">更新する</button>

@code{
    private DateTime now;
    private void dispDate()
    {
        now = DateTime.Now;
    }
}

現在時刻を取得するDateTime型変数nowを宣言して、最新の時刻取得を行うdispDateメソッドを作成し、動きをボタンに持たせます。
そして、pタグで「現在時刻」の隣に変数nowをセット。

image.png

更新するボタンを押すたびに、表示されている現在時刻が変化します。

#おわりに
これだけしかまだやってないので何とも言えませんが、結構直感的で使いやすい気がする。

仮想DOM、便利ですねー。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?