I have an Angular 8 Ionic app and have found a navigation bug in my app. When I navigate to a specific page and then go back, a third navigation event is fired automatically.
Page 1: Where navigation begins
this.router.navigate(['clients', this.client.id, 'visits'], {queryParams: {allowBack: true}})
This works just fine and I'm brought to the correct page however when I use location.back()
from @angular/common
on this page, I'm brought back to "Page 1", but a third navigation event gets fired (only on device, not in browsers. After enabling tracing of my router I see:
NavigationStart(id: 8, url: '/clients/6356/visits?allowBack=true')
NavigationStart
id: 8
navigationTrigger: "popstate"
restoredState: {navigationId: 6}
url: "/clients/6356/visits?allowBack=true"
This URL is the initial route I used on page 1 but I'm not sure why it's getting fired again. Any idea how to prevent this extraneous routing?
question from:
https://stackoverflow.com/questions/65938383/strange-navigation-bug-in-angular-conneted-to-location-back 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…