ionic-framework: bug: double tap a tab then go to a global page, back button missing and swipe back broken
Bug Report
Ionic version: [x] 4.11.5
Current behavior: using Angular router.navigate(), double-tap a tab then go to a global page, back button missing and swipe back broken
Expected behavior: back button still appears, and swipe back gesture still working
Steps to reproduce:
1.run it 2.tap twice the tab 3.click the global page button 4.check the back button
Related code:
A sample application via GitHub https://github.com/peterzhang41/ionicDoubleTapTabIssue
Other information: our team has to use NavController instead
Ionic info:
Ionic:
Ionic CLI : 5.4.6 (/home/zehui/.nvm/versions/node/v10.17.0/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.11.5
@angular-devkit/build-angular : 0.12.4
@angular-devkit/schematics : 7.2.4
@angular/cli : 7.2.4
@ionic/angular-toolkit : 1.4.1
Cordova:
Cordova CLI : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : android 8.1.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 4 other plugins)
Utility:
cordova-res : not installed
native-run : 0.2.9
System:
Android SDK Tools : 26.1.1 (/home/zehui/Library/Android/Sdk)
NodeJS : v10.17.0 (/home/zehui/.nvm/versions/node/v10.17.0/bin/node)
npm : 6.13.0
OS : Linux 4.15
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 16 (4 by maintainers)
This fix will not be ported to Ionic 4. Ionic 4 is only receiving critical security fixes moving forward.
I guess this has something to do with the routing - together with componentless routes and redirects and/or the way navigation happens when tapping an already open tab with its root component being displayed. Lazy loaded routes and componentless modules seem to play a role here (with components being destroyed even though they shouldn’t - breaking navigation) - I am able to work around this by moving some child routes into the tab routing module. I’m currently investigating and trying to nail this down a bit more.