過去に作ったもの
前回作成したときは0.1.0のテンプレを元に0.2.0でも一応動いていた物でしたが、割かし破壊的な変更が多かったため、軽くメモっておこうと思います。
以下は以前の
* 1準備編
* 2実装編
* 3実用っぽいの編
変更対応
Blazorはかなり頻繁に更新しており、時々破壊的な変更が入ります。そのため、せっかく作ったプロジェクトを毎回作り直しは面倒なので何とか変更して対応していっているのでどないしたのかっていうメモです。
変更を一通り反映させたものはソース(GitHub)にあります。使い方が変わったものはBlazorのソースを一式落としてから探し出していますので、やっちゃまずいやり方があるかもしれません。
プロジェクトの設定
これは、拡張機能を最新へ更新してから新規プロジェクトを作成して、プロジェクトの右クリックメニューでプロジェクトファイル(ファイル名が表示されています)の編集で中を見ます。
おおむね、「」あたりをコピペして上書きしてから開きなおすとある程度何とかなります。
ビルドが通らない場合はルートの「_ViewImports.cshtml」にある@using ~を一通り見比べて自分が追加したもの以外をそろえると良いかと思います。
0.2.0から変更されて0.3.0で新しい文法しか使えなくなったもの
ボタンのクリックイベントやデータのバインドですが、@onclick(イベントハンドラ)
はonclick="@イベントハンドラ"
に、@bind=変数名
はbind=変数名
に変わりました。他にも変わった気がしますがこれが大きなトピックかな?
0.5.0に変わった直後あたりでの変更
Pagesディレクトリのコンポーネントを別ページ内に埋め込むとビルドエラーになりました。埋め込む場合はSharedに持って行ってそれだけのページが欲しい場合はから枠ページを用意して埋め込めってことなのかもしれません。
0.5.0のpreview1-10320からpreview1-10328の間の変更
JsonUtilが非推奨になりました。また、JavaScriptで登録したメソッドを呼ぶ形から、window.~でメソッドを用意してJSRuntime.Current.InvokeAsync<T>
で呼び出すようになりました。非同期じゃない呼び方はあるにはあったんですが、キャストしてInvokeを呼び出すみたいでまた変更が入るような気がしなくもないです(ひょっとしたら別クラスのメソッドで同じように呼べるのかもしれませんが)。ちなみにPullRequestの#1033「JavaScript interop v3」での変更のようです。