CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet résolu : Angular: recharger une page

DébutPage précedente
1
Page suivantePage suivante
Pseudo supprimé
Niveau 20
24 juin 2022 à 18:46:52

Salut, j'aimerais pouvoir recharger une page lorsque je change de route, car mon composant doit aller chercher des infos dans un fichier texte mais les informations ne chargent que si la page est refresh.

J'ai donc essayé ceci, mais je ne vois aucun changement:

this.router.navigate([
      'print/'
      + this.route.snapshot.params['cat']
      +'/'
      + this.route.snapshot.params['subCat']
    ]);

et également ceci, mais la page ne charge plus rien dans ce cas :( :

this.router.navigate([
      'print/'
      + this.route.snapshot.params['cat']
      +'/'
      + this.route.snapshot.params['subCat']
    ]).then(() => {
      window.location.reload();
    });

(ma route est censée être: http://localhost:port/print/catégorie/sous-catégorie)

Est-ce que vous auriez une idée de quoi faire ?

xerusmb xerusmb
MP
Niveau 6
24 juin 2022 à 22:07:28

Essaie un window.location.href = "ton_url.html"

xerusmb xerusmb
MP
Niveau 6
24 juin 2022 à 22:15:47

il me semble que pour utiliser location.reload() tu ne dois pas utiliser de port dans l'url

https://developer.mozilla.org/fr/docs/Web/Security/Same-origin_policy

Deux pages ont la même origine si le protocole, le port (si spécifié) et l'hôte sont les mêmes pour les deux pages.

Pseudo supprimé
Niveau 20
25 juin 2022 à 16:19:20

Le 24 juin 2022 à 22:07:28 :
Essaie un window.location.href = "ton_url.html"

ça change rien 😢mais merci pour ton aide !

Le 24 juin 2022 à 22:15:47 :
il me semble que pour utiliser location.reload() tu ne dois pas utiliser de port dans l'url

https://developer.mozilla.org/fr/docs/Web/Security/Same-origin_policy

Deux pages ont la même origine si le protocole, le port (si spécifié) et l'hôte sont les mêmes pour les deux pages.

Angular me met un port par défaut dans l'URL, il peut pas marcher autrement ? :(

Message édité le 25 juin 2022 à 16:19:39 par
Pseudo supprimé
Niveau 20
25 juin 2022 à 16:22:24

alors, je viens de griser (commenter) des lignes qui se trouvaient juste au-dessus (c'était une autre tentative de ma part de forcer à refresh la page):

// this.router.routeReuseStrategy.shouldReuseRoute = () => {
    //   return false;
    // };

et à présent, Angular recharge la page à l'infini 😭(ça refresh indéfiniment)

Message édité le 25 juin 2022 à 16:25:03 par
Pseudo supprimé
Niveau 20
25 juin 2022 à 16:41:17

c'est curieux car si je fais une redirection vers l'accueil:

this.router.navigate([
      'print/'
      + this.route.snapshot.params['cat']
      +'/'
      + this.route.snapshot.params['subCat']
    ]).then(() => {
      window.location.href="/home"
    });

ça fonctionne ! Par contre, j'ai l'impression que ça ne marche pas à partir du moment où je fais une redirection utilisant des paramètres dans la route :( je comprends vraiment plus rien

Message édité le 25 juin 2022 à 16:42:06 par
Pseudo supprimé
Niveau 20
25 juin 2022 à 17:45:23

BON, alors, finalement, ça marche bien avec ceci:

this.router.routeReuseStrategy.shouldReuseRoute = () => {
      this.commandsService.deleteArr();
      return false;
    };

en jetant un coup d’œil à la console, je me suis rendue compte que les requêtes GET se faisaient bel et bien. Je pensais qu'elles n'avaient pas lieu, car en changeant de route, les informations du component (fichier .txt chargé dans un tableau) ne changeaient pas (sauf la première ligne du tableau qui s'actualisait, donc bon... :rire:)

En fait, le problème venait d'ailleurs: pour actualiser correctement le tableau avec les infos de mon fichier txt, j'ai dû réinitialisé mon tableau pour repartir de zéro (qui correspond à la ligne this.commandsService.deleteArr(); ).

Voilà, c'est tout :hap:
Je pensais qu'en changeant de route, je n'aurais pas besoin de réinitialiser mon tableau, mais bon...

1 journée + 1 après midi de flinguée sur ce problème... je commençais à devenir folle 😭

Merci pour ton aide en tout cas xerusmb! :ange:

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment