Angular 5のリリースを前にした、最後の4.xリリースとなるAngular 4.3は、従来バージョンとの完全な互換性を保ちつつ、新しいHttpClientモジュールやルータのライフサイクルイベントなど、多数の新機能を持っている。
前述のように、Angular 4.3のおもな新機能のひとつはHttpClient
モジュールである。これは、従来のHttpモジュールを完全に書き直したもので、3つの重要な改善点を備えている。
- 応答として
.json
属性へのアクセスが提供されることにより、応答テキストを明示的にパースする必要がなくなる。 - インタセプタを使用して要求と応答を処理するための、新しい汎用的なメカニズム。インタセプタを構築するには、
HttpInterceptor
インターフェースを実装するクラスを宣言した上で、要求あるいは応答を処理する他のインタセプタにチェーンすればよい。 - 要求のアップロードと応答のダウンロードの両方を追跡可能なプログレスイベント。
コントリビュータのCédric Exbrayat氏によると、既存コードから新しいHttpClientモジュールへの移行は極めて容易で、不要になったコードの削除が主体であるということだ。
Angular 4.3にはまた、ResolveStart
, ResolveEnd
, GuardsCheckStart
, GuardsCheckEnd
など、GuardsCheckおよびResolveのためのルータレベルイベントも追加されている。これらのイベントは、リゾルバあるいはガードが実行するタイミングが必要な場合に有効だ。さらにバージョン4.3には、/deep/
CSSセレクタ用に::ng_deep
エイリアスも追加されており、子コンポーネントに対する強制的なスタイル適用が可能である。これは主に、/deep/
がChromeで廃止され、すべての主要なブラウザから削除されたことへの対応策である。
最後に、ngc
コンパイラが変更され、TypeScript 2.3 Transformersのコンセプトに統合された。TypeScript Transformersは、tsc
によってコンパイルされたコードに適用されるプラグインだ。Angular 4.3の変更により、ngc
はtsc
のラッパではなく、tsc
によってコールされるプラグインになった。これによって診断性が改善され、型チェック失敗時には、Angularソースファイル内の該当行を正確に参照できるようになる。
詳細はAngular 4.3の変更点の全リストで確認可能だ。
この記事を評価
- 編集者評
- 編集長アクション