angular-docs-cn/packages/upgrade
Georgios Kalpakas b3e63c09ab fix(upgrade): initialize all inputs in time for `ngOnChanges()`
Previously, non-bracketed inputs (e.g. `xyz="foo"`) on downgraded components
were initialized using `attrs.$observe()` (which uses `$evalAsync()` under the
hood), while bracketed inputs (e.g. `[xyz]="'foo'"`) were initialized using
`$watch()`. If the downgraded component was created during a `$digest` (e.g. by
an `ng-if` watcher), the non-bracketed inputs were not initialized in time for
the initial call to `ngOnChanges()` and `ngOnInit()`.

This commit fixes it by using `$watch()` to initialize all inputs. `$observe()`
is still used for subsequent updates on non-bracketed inputs, because it is more
performant.

Fixes #16212
2017-05-03 19:32:57 -07:00
..
src fix(upgrade): initialize all inputs in time for `ngOnChanges()` 2017-05-03 19:32:57 -07:00
static feat(upgrade): allow setting the angularjs lib at runtime (#15168) 2017-04-17 14:35:55 -07:00
test fix(upgrade): initialize all inputs in time for `ngOnChanges()` 2017-05-03 19:32:57 -07:00
index.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
package.json build: fix paths to typings files so tsickle resolves imports correctly 2017-03-16 17:34:29 -07:00
public_api.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
rollup.config.js test: add systemjs+umd integration test (#14196) 2017-03-19 12:23:07 -05:00
tsconfig-build.json fix(upgrade): Update types for TypeScript nullability support 2017-04-18 12:07:33 -07:00