mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
refactor(router): deprecate no longer needed resolver fields (#45597)
DEPRECATED: The `resolver` argument of the `RouterOutletContract.activateWith` function and the `resolver` field of the `OutletContext` class are deprecated. Passing component factory resolvers are no longer needed. The `ComponentFactoryResolver`-related symbols were deprecated in `@angular/core` package since v13. PR Close #45597
This commit is contained in:
parent
f4fd1a8262
commit
1d2f5c1101
4 changed files with 21 additions and 1 deletions
|
|
@ -77,6 +77,8 @@ v14 - v17
|
|||
| `@angular/forms` | [`FormBuilder.group` legacy options parameter](api/forms/FormBuilder#group) | <!-- v11 --> v14 |
|
||||
| `@angular/platform-server` | [`renderModuleFactory`](#platform-server) | <!-- v13 --> v15 |
|
||||
| `@angular/router` | [`relativeLinkResolution`](#relativeLinkResolution) | <!-- v14 --> v16 |
|
||||
| `@angular/router` | [`resolver` argument in `RouterOutletContract.activateWith`](#router) | <!-- v14 --> v16 |
|
||||
| `@angular/router` | [`resolver` field of the `OutletContext` class](#router) | <!-- v14 --> v16 |
|
||||
| `@angular/service-worker` | [`SwUpdate#activated`](api/service-worker/SwUpdate#activated) | <!-- v13 --> v16 |
|
||||
| `@angular/service-worker` | [`SwUpdate#available`](api/service-worker/SwUpdate#available) | <!-- v13 --> v16 |
|
||||
| template syntax | [`/deep/`, `>>>`, and `::ng-deep`](#deep-component-style-selector) | <!-- v7 --> unspecified |
|
||||
|
|
@ -147,6 +149,16 @@ In the [API reference section](api) of this site, deprecated APIs are indicated
|
|||
| [`TestBed.get`](api/core/testing/TestBed#get) | [`TestBed.inject`](api/core/testing/TestBed#inject) | v9 | Same behavior, but type safe. |
|
||||
| [`async`](api/core/testing/async) | [`waitForAsync`](api/core/testing/waitForAsync) | v10 | Same behavior, but rename to avoid confusion. |
|
||||
|
||||
<a id="router"></a>
|
||||
|
||||
### @angular/router
|
||||
|
||||
| API | Replacement | Deprecation announced | Details |
|
||||
|:--- |:--- |:--- |:--- |
|
||||
| [`resolver` argument in `RouterOutletContract.activateWith`](api/router/RouterOutletContract#activatewith) | No replacement needed | v14 | Component factories are not required to create an instance of a component dynamically. Passing a factory resolver via `resolver` argument is no longer needed. |
|
||||
| [`resolver` field of the `OutletContext` class](api/router/OutletContext#resolver) | No replacement needed | v14 | Component factories are not required to create an instance of a component dynamically. Passing a factory resolver via `resolver` class field is no longer needed. |
|
||||
|
||||
|
||||
<a id="platform-browser-dynamic"></a>
|
||||
|
||||
### @angular/platform-browser-dynamic
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ export class OutletContext {
|
|||
injector: EnvironmentInjector | null;
|
||||
// (undocumented)
|
||||
outlet: RouterOutletContract | null;
|
||||
// (undocumented)
|
||||
// @deprecated (undocumented)
|
||||
resolver: ComponentFactoryResolver | null;
|
||||
// (undocumented)
|
||||
route: ActivatedRoute | null;
|
||||
|
|
@ -684,6 +684,7 @@ export interface RouterOutletContract {
|
|||
activatedRouteData: Data;
|
||||
activateEvents?: EventEmitter<unknown>;
|
||||
activateWith(activatedRoute: ActivatedRoute, environmnetInjector: EnvironmentInjector | null): void;
|
||||
// @deprecated
|
||||
activateWith(activatedRoute: ActivatedRoute, resolver: ComponentFactoryResolver | null): void;
|
||||
attach(ref: ComponentRef<unknown>, activatedRoute: ActivatedRoute): void;
|
||||
attachEvents?: EventEmitter<unknown>;
|
||||
|
|
|
|||
|
|
@ -53,6 +53,9 @@ export interface RouterOutletContract {
|
|||
activateWith(activatedRoute: ActivatedRoute, environmnetInjector: EnvironmentInjector|null): void;
|
||||
/**
|
||||
* Called by the `Router` when the outlet should activate (create a component).
|
||||
*
|
||||
* @deprecated Passing a resolver to retrieve a component factory is not required and is
|
||||
* deprecated since v14.
|
||||
*/
|
||||
activateWith(activatedRoute: ActivatedRoute, resolver: ComponentFactoryResolver|null): void;
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,10 @@ import {ActivatedRoute} from './router_state';
|
|||
export class OutletContext {
|
||||
outlet: RouterOutletContract|null = null;
|
||||
route: ActivatedRoute|null = null;
|
||||
/**
|
||||
* @deprecated Passing a resolver to retrieve a component factory is not required and is
|
||||
* deprecated since v14.
|
||||
*/
|
||||
resolver: ComponentFactoryResolver|null = null;
|
||||
injector: EnvironmentInjector|null = null;
|
||||
children = new ChildrenOutletContexts();
|
||||
|
|
|
|||
Loading…
Reference in a new issue