Angular v6.1 が利用可能に — TypeScript 2.9、スクロール位置、など
この記事は Angular 公式ブログ Angular v6.1 Now Available — TypeScript 2.9, Scroll Positioning, and more を元に翻訳、加筆したものです。
Angular version 6.1 がリリースされました。これは 6.0 を置き換えるマイナーリリースで、新しい機能とバグ修正を含んでいます。
変更点
ルーターでのスクロール位置の保存
開発者は、ユーザーがアプリケーションで操作したスクロール位置を保存し復元するルーターを設定することができるようになります。新しいナビゲーションのイベントではスクロール位置をリセットし、戻るボタンが押されたときには以前のスクロール位置を復元します。
ルーターの設定で、スクロール位置の復元をオンにします:
RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})
今後のメジャーリリースでは、この設定がデフォルトになるでしょう。
ShadowDOM v1 のビューカプセル化
CSS とそれが定義されているコンポーネントをつなぐ方法は複数あり、これをビューカプセル化と呼んでいます。コンポーネントのデコレーターで、ShadowDOM v1 を使うようにビューカプセル化を変更することができるようになります。これまでの ViewEncapsulation.Native
は非推奨となりました。
ShadowDOM v1 は、以前のバージョンよりもクロスブラウザサポートがよりよくなっており、ブラウザ同士で共通化された標準としてビルドされています。
これらの変更の多くはライブラリ作者や先進的な開発者に当てはまることですが、v1 と v0 の違いについてもっと詳しく知ることができます。ShadowDOM v1 は、Angular Elements のコンテントプロジェクションには必須です。
コンポーネントのデコレーターの中で、新しいカプセル化を選択します:
Schematics のチェイン
既存のルールからルールを返すためのサポートが追加されたことによって、Schematics をチェインできる方法が向上しました。これは、Schematics を設計するときに開発者がもっと動的にルールセットを決められるようにします。
TypeScript 2.9
Angular は TypeScript 2.7 に加えて 2.8 および 2.9 をサポートします。
多くの開発者が便利になるであろう TypeScript 2.9 での重要な変更は、“Exported variable ‘x’ has or is using name ‘y’ from external module ‘z’ but cannot be named
” のようなエラーに関することです。 TypeScript はこのような定義省略の可視ルールを緩和します。つまり、今後はこのようなエラーは見なくなり、この export 形式のせいでコードの変更を強いられることもなくなります。
機能とバグ修正の完全な一覧については、Angular changelog および CLI release notes を参照してください。
これは 6.x で計画された最後のマイナーリリースです、よって次のメジャーバージョンに向けて作業を開始すると、7.0 ベータ版がリリースされる予定です。