This repository was archived by the owner on Sep 16, 2022. It is now read-only.
3.0.0-alpha
·
3392 commits
to master
since this release
3.0.0-alpha
This is the first pre-release of AngularDart 3.0.0. This code is considered
production quality, but additional breaking changes and features are planned
before releasing a final version.
New features
- (Forms)
AbstractControl.markAsDirtynow emits a status change event.
Breaking changes
- DOM adapter is now completely removed from the API and generated code
- A
nameparameter is now required for all@Pipe(...)definitions:
BEFORE: dart @Pipe(name: 'uppercase')
AFTER: dart @Pipe('uppercase')
DomEventsPluginnow requires a strongly typed interface todart:html.Nullis no longer propagated as an initial change value. Code should be
updated to either deliver a different initial value or components with an
@Input()should have an appropriate default value.
BEFORE
<my-component [value]="null"></my-component>
...
String _value;
set value(String value) {
_value = value ?? 'Default name';
}AFTER
String _value = 'Default name';
set value(String value) { _value = value; }- Removed
NgPlural, deprecated as of 2.1.0. - Removed
ObservableListDiffFactory, deprecated as of 2.1.0. - Event handlers are bound at initialization time. Therefore, the following
will no longer work, becauseclickHandlerisnullduring initialization.
@Component(
selector: 'my-component',
template: '<div (click)="clickHandler($event)"></div>')
class MyComponent {
Function clickHandler;
}- Removed
Component.moduleId, which was unused.
Deprecations
IterableDiffersandKeyValueDiffersare deprecated. The cost of looking
up to see if a custom differ is available is too high for almost no use.
Before they're removed, we'll have other customization options.
Bug fixes
- Fixed a bug where the router didn't work on a root path in IE11.
- Fixed generated code that caused a strong-mode warning on
AppView<...>. - Fixed a bug where DDC didn't work properly with "pure"
Pipes. - Some simple types are now propagated to the generated
.template.dartfile.
Refactors
- Removed
NgZoneImpl, all the code exists inNgZonenow. - We now generate specific code for view and content children (faster).
- Projectable nodes now use the visitor pattern in
AppView. - In generated
.template.dartchange detected primitives are typed. - Moved
renderTypeas a static class member in generated code.