mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-17 10:41:13 +08:00
feat(router): dont reuse the component if the params are different
This matches v3 functionality
This commit is contained in:
28
angular/src/util/ionic-router-reuse-strategy.ts
Normal file
28
angular/src/util/ionic-router-reuse-strategy.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user