Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

ionic framework - Strange navigation bug in Angular conneted to location.back

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...