どうも、らこです。今週も予定通り新しいバージョンのリリースが行われました。現在リリースされているバージョンは以下のとおりです
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
アニメーションのトランジションイベントのハンドリングを含むテンプレートがAoTコンパイルできなかったバグが修正されました
router.umd.jsにRxJSのfilterオペレーターが含まれておらず、routerパッケージ単体で読み込んだときにエラーになっているのが修正されました
名前付きrouter-outletだけを更新する遷移のときに、デフォルトのrouter-outletを更新しないように修正されました
ワイルドカードルート **
からリダイレクトした先のルートがLazy Loadingを使っていると正しくルーティングされないバグが修正されました
2.2.0-beta.0
Features
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) | - | - |
フォームのコントロールに 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
クラスがセットされます
フォームのコントロールが持つメソッドに、 emitEvent
オプションが追加されます。
emitEvent
がfalseのとき、そのメソッドによる操作はvalueChange
イベントやstatusChange
イベントを発火しません。
control.setValue('foo', {emitEvent: false});
フォームのコントロールにparent
プロパティが追加され、入れ子になったコントロールから親のコントロールグループを取得できるようになります
Validator.pattern
バリデーターがRegexp型のパターンを受け付けるようになります
@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リリースを待ちましょう。
それではまた来週のリリースで。