子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 親メソッド名(子が渡す値の型 子イベントの引数名)
{
}