fix(angular): account for replaceUrl option (#17879)

fixes #15181
This commit is contained in:
Liam DeBeasi
2019-03-29 09:40:57 -04:00
committed by GitHub
parent 346ecb2a3c
commit f2c8db9a0b

View File

@ -58,6 +58,25 @@ export class StackController {
animation = undefined;
}
const viewsSnapshot = this.views.slice();
const currentNavigation = this.router.getCurrentNavigation();
/**
* If the navigation action
* sets `replaceUrl: true`
* then we need to make sure
* we remove the last item
* from our views stack
*/
if (
currentNavigation &&
currentNavigation.extras &&
currentNavigation.extras.replaceUrl
) {
if (this.views.length > 0) {
this.views.splice(-1, 1);
}
}
const views = this.insertView(enteringView, direction);
return this.wait(async () => {
await this.transition(enteringView, leavingView, animation, this.canGoBack(1), false);