子Componentから親への受渡まとめ

基本的に、以下の2のやり方だけやっていればよいのではないか?

 

■子側

 子側はやり方は一つだけ。

 ①[Parameter]属性付きでEventCallbackを定義する。

 ②渡したいタイミングで、定義したイベントを起こす。

 

 ①

  [Parameter]
        public EventCallback<渡す値の型> イベント名{ get; set; }

 ②

  private void イベント起こすメソッド(){

   イベント名.InvokeAsync(this.Result);

  }

■親側

 親側は2通りある。

 1.戻り値として直接値を受け取る

 2.イベントを購読する

 

 1.戻り値を受け取る

  ①コンポーネントを呼ぶ時、パラメータに@bind-イベント名=戻値名>

   <コンポーネント名 Weight ="@Weight"
     Height ="@Height" @bind-Result="Result" />

  このやり方の場合、自動でバインドされる為、子で渡された後

  何か処理を挟む余地はない。

  また子のイベント名を、変数名+Changedにしなければならない。

 

 2.イベントを購読する

  ①コンポーネントを呼ぶ時、子のイベント名=紐付先親メソッド名とする。

  ②紐付先親メソッド名で、引数に渡される値の型を持たせる。

  <コンポーネント 子イベント名="親メソッド名" />

  private void 親メソッド名(子が渡す値の型 子イベントの引数名)
        {
        }