Skip to content

bug: ion-router-outlet does not show correct page after vue-router navigation guard was used #29721

Open
@martinclaus1

Description

@martinclaus1

Prerequisites

Ionic Framework Version

v8.x

Current Behavior

The ion-router-outlet shows the wrong page after a vue-router navigation guard was used.

Given:

  • ion-page Home
  • ion-page Register
  • ion-page Profile

When:
A user registers using the following flow: Home -> Register -> Profile.
The transition from Home -> Register uses router.push.
The transition from Register -> Profile uses router.replace.
Being on the Profile page, back navigation is prevented using a navigation guard (see example).

Then:
After a logout (Profile -> Home), it's not possible to log in again (Home -> Profile) because the ion-router-outlet shows the wrong page although the path was changed to /profile.

image

Expected Behavior

The correct ion-page should be displayed after a navigation guard prevented the user from going back.
image
The Profile page should be displayed.

Steps to Reproduce

  1. go to Home page
  2. click on "REGISTER"
  3. click on "SIGN UP"
  4. try to go one step back in history, e.g. by using the back button on the mouse
  5. see that the page does not change [EXPECTED]
  6. click on "LOGOUT"
  7. click on "LOGIN"
  8. see that page does not change [BUG]

Code Reproduction URL

https://stackblitz.com/edit/vitejs-vite-vphseq?file=README.md

Ionic Info

Ionic:

Ionic CLI : 7.2.0
Ionic Framework : @ionic/vue 8.2.5

Capacitor:

Capacitor CLI : 6.1.0
@capacitor/android : 6.1.1
@capacitor/core : 6.1.0
@capacitor/ios : 6.1.1

Utility:

cordova-res : not installed globally
native-run : 2.0.1

System:

NodeJS : v20.12.0
npm : 10.8.1
OS : macOS Unknown

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions