0

Son problème un peu bizarre mais je ne sais pas ce qui se passe. Lorsque je clique sur le bouton de retour du navigateur, la page change mais le URL reste le même. Lorsque je clique à nouveau sur le bouton Précédent, le URL change mais la page reste la même.Angular2 problème de bouton de retour | L'URL ne change pas | Angular Universal

Ceci a été corrigé après avoir utilisé

window.history.pushState({},'',url); 

mais avec ce ... le problème est que la boucle I autour de 2 pages si je continue à cliquer sur le bouton retour.

EXEMPLE: -

A -> B -> C -> (back) -> B -> (back) -> C -> (back) -> B -> (back) -> C-> (back) -> B -> (back) 

NOTE: - je RouterModule.forRoot() dans le module de calcul d'itinéraire et de la racine RouterModule.forChild() dans les voies de l'enfant. J'ai utilisé angular universal.

Quel pourrait être le problème? Comment cela peut-il être résolu?

----------------------------------- XXXXXX ---------- -------------------------------------

UPDATE

Was playing with code and i ran into Location of @angular/common. 
This is great with popstate (resolved the url change issue) but the problem now is... 
whenever i hit back button...it pop same page twice.... 

EXEMPLE : -

A -> B -> C -> (back) -> B -> (back) -> B -> (back) -> A -> (back) -> A 

----------------------------------- XXXXXX ----- ------------------------------------------

UP DATE 2: -

when using location.. i checked the history length... 
the history length is not changing when the back button is clicked first time... 

Exemple: -

A : length = 1 -> B : length = 2 -> C : length = 3 -> (back) -> B : length = 3 -> (back) -> 
B : length = 2 -> (back) -> A : length = 2 -> (back) -> A : length = 1 

post-scriptum -> Vérifiez le lien avant de demander des versions de bibliothèque.

+0

peut être que je ne sais pas angulaire mais "window.history.pushState ({}, '', url);" ne me semble pas angulaire ... de toute façon - quel code utilisez-vous pour naviguer entre les pages? – happyZZR1400

+0

@ happyZZR1400 aurait dû vérifier le lien avant de demander ......... bien puisque vous avez demandé ... son code angulaire ... j'ai utilisé routerlink pour voyager entre les pages ....... (routerlinks sont comme href) ... –

Répondre

1

Vérifiez le fichier

app-routing.module.ts

et assurez-vous que les routes importées sont comme

RouterModule.forChild([]) 

plutôt que

RouterModule.forRoot([]) 

Cela va résoudre le problème.