Angular Info

Angular 2.1.1/2.2.0-beta.0のリリース

どうも、らこです。今週も予定通り新しいバージョンのリリースが行われました。現在リリースされているバージョンは以下のとおりです

latest next
core 2.1.1 2.2.0-beta.0
router 3.1.1 3.2.0-beta.0

それでは今回の注目すべき変更点をまとめます。


2.1.1

Bug Fixes

  • compiler: generate aot code for animation trigger output events (#12291) (6e5f8b5), closes #11707

アニメーションのトランジションイベントのハンドリングを含むテンプレートがAoTコンパイルできなかったバグが修正されました

  • router: correctly export filter operator in es5 (#12286) (27d7677)

router.umd.jsにRxJSのfilterオペレーターが含まれておらず、routerパッケージ単体で読み込んだときにエラーになっているのが修正されました

  • router: do not update primary route if only secondary outlet is given (#11797) (da5fc69)

名前付きrouter-outletだけを更新する遷移のときに、デフォルトのrouter-outletを更新しないように修正されました

  • router: fix lazy loading triggered by redirects from wildcard routes (5ae6915), closes #12183

ワイルドカードルート ** からリダイレクトした先のルートがLazy Loadingを使っていると正しくルーティングされないバグが修正されました

2.2.0-beta.0

Features

  • common: support narrow forms for month and weekdays in DatePipe (#12297) (f77ab6a), closes #12294

dateパイプのフォーマットに新しく1文字形式(Narrow form)での月と曜日の表現が追加されました

Component Symbol Narrow Short Form Long Form Numeric 2-digit
month M L (S) MMM (Sep) MMMM (September) M (9) MM (09)
weekday E E (S) EEE (Sun) EEEE (Sunday) - -
  • forms: add hasError and getError to AbstractControlDirective (#11985) (592f40a), closes #7255

フォームのコントロールに hasError メソッドと getError メソッドが追加されました

<label>Username</label><input name="username" ngModel required #username="ngModel">
<div *ngIf="username.dirty && username.hasError('required')">Username is required</div>

非同期バリデーターによるバリデーション中にng-pendingクラスがセットされます

  • forms: Added emitEvent to AbstractControl methods (#11949) (b9fc090)

フォームのコントロールが持つメソッドに、 emitEvent オプションが追加されます。
emitEventがfalseのとき、そのメソッドによる操作はvalueChangeイベントやstatusChangeイベントを発火しません。

control.setValue('foo', {emitEvent: false});
  • forms: make ‘parent’ a public property of ‘AbstractControl’ (#11855) (445e592)

フォームのコントロールにparentプロパティが追加され、入れ子になったコントロールから親のコントロールグループを取得できるようになります

Validator.patternバリデーターがRegexp型のパターンを受け付けるようになります

  • upgrade: add support for AoT compiled upgrade applications (d6791ff), closes #12239

@angular/upgradeパッケージを使ったアプリケーションがAoTコンパイル可能になります。

@anguar/upgradeを使ってAngular 1と2を共存させるアプリケーションにおいて、部分的にAngular 2のrouterを使用できるようにする機能が追加されます。
この新しい機能については、Victor Savkin氏が自身のブログで自ら記事を書いています。
Migrating Angular 1 Applications to Angular 2 in 5 Simple Steps
Angular 2のrouterを有効にする条件を、UrlHandlingStrategyという仕組みで制御できるようになります。


2.2系に含まれるフォーム関連の機能はとても便利そうです。Angular 1からのマイグレーション関連の変更も特徴的です。とはいえまだbeta.0ですので、緊急でなければ3週間後の2.2.0リリースを待ちましょう。

それではまた来週のリリースで。