feat(router): add predicate function mode for runGuardsAndResolvers (#27682)

This option means guards and resolvers will ignore changes when a provided predicate function returns `false`. This supports use cases where an application needs to ignore some param updates but not others. For example, changing a sort param in the URL might need to be ignored, whereas changing the a `project` param might require re-run of guards and resolvers.

Related to #26861 #18253 #27464

PR Close #27682
This commit is contained in:
Jason Aden
2018-12-14 14:02:50 -05:00
committed by Miško Hevery
parent 7901cd8cfb
commit 12c317603a
4 changed files with 50 additions and 2 deletions

View File

@ -473,7 +473,7 @@ export declare class RoutesRecognized extends RouterEvent {
toString(): string;
}
export declare type RunGuardsAndResolvers = 'pathParamsChange' | 'pathParamsOrQueryParamsChange' | 'paramsChange' | 'paramsOrQueryParamsChange' | 'always';
export declare type RunGuardsAndResolvers = 'pathParamsChange' | 'pathParamsOrQueryParamsChange' | 'paramsChange' | 'paramsOrQueryParamsChange' | 'always' | ((from: ActivatedRouteSnapshot, to: ActivatedRouteSnapshot) => boolean);
export declare class Scroll {
readonly anchor: string | null;