When a user tries to change pages in a Vue app, the router runs global guards called beforeEach first. These guards check conditions like if the user is logged in. If the guard calls next() with a redirect path, navigation stops and restarts at the new path. If next() is called without arguments, navigation continues. After beforeEach, route-specific guards called beforeEnter run for the target route. They can also allow or block navigation. This process ensures only allowed users can access certain pages. The execution table shows steps where navigation is allowed or redirected based on login status and route requirements.