どうも、らこです。リリースから少し時間が経ってしまいましたが、RC.3の変更点をまとめておきます。
Bug Fixes
RC.2までの幾つかのバグが修正されました。重要なものだけをピックアップします。
- change_detection: ChangeDetectorRef reattach should restore original mode (773c349), closes #7078 #7080
ChangeDetectorRef.reattach
が常にCheckAlways
を使用していたバグが修正されました。
- forms: ngModel should export as ngModel (8e6e90e)
NgModel
ディレクティブがngForm
としてexportされていたのが修正されました。
RC.2でうまく動かなくなっていたenableProdMode
が復活しました。
Features
新しい機能や改善も幾つか含まれています。
- compiler: make interpolation symbols configurable (
@Component
config) (#9367) (1b28cf7), closes #9158
Component
デコレータにinterpolation
プロパティが追加され、そのコンポーネントのテンプレート中でのInterpolationのシンボルが変更できるようになりました。
この機能は私が実装して、@vicbがしっかりレビューしてくれました。
merge前のちょっとしたミスで私のcommitではなくなってしまいましたがそれはご愛嬌ということで。
- datePipe: numeric string support (5c8d315)
DatePipe
が文字列型の数値を受け付けられるようになりました。
QueryList
の各メソッドのコールバックでindex
が第2引数に追加されました。
- radio: support radio button sharing a control (39e0b49)
ラジオボタンに対するngModel
が使いやすくなりました。
複数のラジオボタンに対して同じオブジェクトをngModel
で渡した時に、選択状態のラジオボタンのvalueがセットされるようになりました。
今までは配列やオブジェクトなどを用いて面倒でしたが、Angular 1と似た書き方になり、とても簡単になりました。
<form>
<input type="radio" name="food" [(ngModel)]="data.food" value="chicken">
<input type="radio" name="food" [(ngModel)]="data.food" value="fish">
<input type="radio" name="drink" [(ngModel)]="data.drink" value="cola">
<input type="radio" name="drink" [(ngModel)]="data.drink" value="sprite">
</form>
BREAKING CHANGES
わずかな破壊的変更も含まれています。
- Parse5Adapter is no longer exported as public API, use serverBootstrap()
Parse5Adapter
はこれまでパブリックなAPIでしたが、RC.3からはexportされなくなりました。
代わりにserverBootstrap()
関数を呼び出します。
以上、RC.3の変更点でした。RC.2でパフォーマンスの問題を発生させてなければもう少し先になっていたと思いますが、
思っていた以上に深刻な不具合だったので、だいぶ前倒しでRC.3がリリースされました。
RC.4は予定通り、FormsやTestingのAPIの改善が完了してからの落ち着いたリリースになるでしょう。
それではまた。