CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • 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 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Angular: recharger une page

Pseudo supprimé
Pseudo supprimé 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
Niveau 6
24 juin 2022 à 22:07:28

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

xerusmb
xerusmb
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é
Pseudo supprimé 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é
Pseudo supprimé
Pseudo supprimé 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é
Pseudo supprimé
Pseudo supprimé 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é
Pseudo supprimé
Pseudo supprimé 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:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware