feat(router): dont reuse the component if the params are different

This matches v3 functionality
This commit is contained in:
mhartington
2018-04-11 14:43:00 -04:00
committed by Manu MA
parent 54d7a12bea
commit 5899b0392d
3 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,28 @@
import { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy } from '@angular/router';
import { deepEqual, objectValues } from './util';
export class IonicRouteStrategy implements RouteReuseStrategy {
shouldDetach(_route: ActivatedRouteSnapshot): boolean {
return false;
}
// tslint:disable-next-line
store(_route: ActivatedRouteSnapshot, _detachedTree: DetachedRouteHandle): void { }
shouldAttach(_route: ActivatedRouteSnapshot): boolean {
return false;
}
retrieve(_route: ActivatedRouteSnapshot): DetachedRouteHandle | null {
return null;
}
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
if (objectValues(future.params) && objectValues(curr.params)) {
return deepEqual(future.params, curr.params);
} else {
return future.routeConfig === curr.routeConfig;
}
}
}