ミルク蒼屋のチラシ

Colloid(コロイド)が何か色々と残したりするブログです

Blazor - app building workshopをのんべんだらりとやってみる その4

日記です

前回↓

colloidgel.hatenablog.com

長いので折りたたむ

やったこと

Session #2をやってみた

  • 画像クリックで発生するイベントハンドラの実装
    画像クリックすると、コンソールにピザ名が出るようにする。
    razor内のタグで@onclickで実装。
    Vueでも<button @click="googleLogin">のように@clickイベントハンドラを実装するので、ここが非常にSPA感あるなという気持ちに。
    @以下は()でくくり、内部はC#で実装できるとのこと。なるほど~~~となる

  • ダイアログの詳細な実装
    突然のParameter属性の登場
    どうやら.NET Core 3.0から登場したそうな
    docs.microsoft.com
    属性ってなんだっけ↓
    ufcpp.net
    設定すると定義された情報が付与される。ということかな?
    アトリエでいう潜力みたいなものか

  • データバインディング
    ダイアログ実装したけど、閉じるボタンとか細かい所がないので実装していこうぜという内容
    双方向バインディングの英語にtwo-wayと使われていて、そういえばXAMLコンポーネント設定したらバインディング設定値にtwo-wayがあったなと思い出すなど
    docs.microsoft.com
    そのままバインド設定するだけではなく、細かい設定もあるのだと知る

  • トッピング追加機能
    コード的にはデータバインディングの章とか前述の内容をselectでやろうぜという感じ
    やってみたけど、これはrazorのUI部分よりも、処理を先に書いたほうがサジェスト効くので順番入れ替えたほうが良いと思った
    しかしトッピングの種類多すぎw
    f:id:Colloid:20200517210301p:plain

  • コンポーネントのイベント処理
    やっとのこさキャンセルボタンとオーダボタンの実装
    そして初登場EventCallback
    docs.microsoft.com
    親子関係のあるコンポーネントに効くっぽい?
    各シチュエーション(フォーカスとか)毎に設定ができそう
    ここらへんはEventCallbackを使わないケースを見ないとわからんかも…orz

  • 注文情報を表示する
    注文数や種類を出す画面をつくるぞという感じ
    やってることは今までのおさらいのような感じなので特に無いけれども
    f:id:Colloid:20200517220836p:plain
    左のピザ注文リストは別razorコンポーネントに切り出す感じに実装

感想

  • ダイアログの設定
    ダイアログ用に新たにConfigurePizzaDialog.razorを追加したけれど、それの開閉設定が
@if (showingConfigureDialog)
{
    <ConfigurePizzaDialog Pizza="configuringPizza" />
}

とタグで設定するというのは驚き
よく思えばConfigurePizzaDialog.razor@code部分にパラメタ設定したのはそういうことなんだな…?

  • データバインド
    データバインドの設定が@bindの一言で終わるのは驚きであるw
    データバインド、WPF+MVVMを勉強した時に触ったけど、@bindと比べると記述がちょい面倒な思い出

  • 変数
    変数名が何かと重複してしまうのでゲシュタルト崩壊する(^q^)

気温が高めの中やると思考力落ちるなorz
ということで今日はこの辺にて