angular-cn/packages/core/schematics/migrations/initial-navigation/README.md

43 lines
1.3 KiB
Markdown
Raw Normal View History

## initialNavigation migration
Automatically migrates the `initialNavigation` property of the `RouterModule` to the newly
available options: `enabledNonBlocking` (default), `enabledBlocking`, and `disabled`.
#### Before
```ts
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
@NgModule({
imports: [
RouterModule.forRoot(ROUTES, {initialNavigation: 'legacy_disabled'}),
]
})
export class AppModule {
}
```
#### After
```ts
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
@NgModule({
imports: [
RouterModule.forRoot(ROUTES, {initialNavigation: 'disabled'}),
]
})
export class AppModule {
}
```
### Disclaimer
The migration only covers the most common patterns where developers set the `ExtraOptions#InitialNavigation`
option to an outdated value. Therefore, if a user declares the option using a number of other methods,
e.g. shorthand notation, variable declaration, or some other crafty method, they will have to migrate
those options by hand. Otherwise, the compiler will error if the types are sufficiently enforced.
The basic migration strategy is as follows:
* `legacy_disabled` || `false` => `disabled`
* `legacy_enabled` || `true` => `enabledNonBlocking` (new default)