-3
votes

Comment recharger une page une fois en utilisant angulaire ou javascript

Je dois recharger une page après le routage d'un nouveau composant

J'ai essayé l'emplacement.reload (), mais il continue à recharger sans arrêter xxx

attendu Résultat:

J'ai besoin de recharger une page uniquement une seule une seule une fois

résultat réel:

Il recharge plusieurs fois


12 commentaires

Pouvez-vous montrer plus de code? Comme où vous appelez nconinit ()


Ngoninit est appelé lorsque le composant est chargé


@Sudhin, pouvez-vous décrire votre cas d'utilisation? Pourquoi avez-vous besoin de recharger une seule fois?


Quand voulez-vous déclencher la recharge? Si c'est surinit, il va courir ce code chaque fois que la page est rechargée.


Non, je n'appelle aucune API ou quoi que ce soit, j'ai besoin de recharger un composant comme des soyons qu'il a été chargé


Selon votre code, il continue à être rechargé. Quel est votre cas d'utilisation?


J'ai besoin de recharger une page dès que le composant est chargé de manière complète pour rafraîchir une page


Mais si vous rechargez, le composant est chargé et si votre composant est chargé, vous souhaitez recharger, ceci est une création d'une boucle infinie


window.location.rélectionnez () Utilisation JavaScript


Dupliqué possible de Recharger une page une fois en Angular2


Utilisez Slide aléatoire de première diapositive, remarquez le support carré autour de la source


@Sudhin j'ai remis votre question à l'original. Vous ne pouvez pas modifier la question à une autre question alors qu'elle a des réponses. Les réponses seraient hors de propos de la question alors.


7 Réponses :


-2
votes

en JavaScript, vous pouvez utiliser

emplacement.Reload ()

pour la recharge de la page


0 commentaires

0
votes

Si vous souhaitez recharger le composant enfant, utilisez cela.ngoninit (); (sur le composant enfant qui peut être rafraîchi) pour recharger simplement ce composant enfant.

parent.component.ts p> xxx pré>

enfant.component.ts p>

refresh() {
   this.ngOnInit()
}


0 commentaires

5
votes

Je ne comprends pas votre cas d'utilisation, mais il y a beaucoup de moyen de faire ce que vous voulez.

Je vous propose une manière avec localStorage. p>

Vérifiez si un localStorage existe. Par défaut, la clé n'existe pas, alors vous le créez et rechargez également la page.
Après l'actualisation, vous vérifiez la même clé (qui existe maintenant). Donc, vous ne rechargez pas la page et retirez la clé de la prochaine fois P>

ngOnInit() {
  if (!localStorage.getItem('foo')) { 
    localStorage.setItem('foo', 'no reload') 
    location.reload() 
  } else {
    localStorage.removeItem('foo') 
  }
}


0 commentaires

0
votes

Vous pouvez importer localisation xxx

puis appelez la méthode de rechargement pour recharger la page xxx


0 commentaires

0
votes

Créer un service pour stocker l'itinéraire précédent. Obtenez l'itinéraire précédent dans votre composant s'il a une route ou la route que vous définissez dans la condition, puis rechargez.

constructor(private previousRouteService: PreviousRouteService){}


0 commentaires

0
votes

Ici, vous pouvez utiliser le stockage local comme ci-dessous

ngOnInit(){
 const firstTime = localstorage.getItem('key')
 if(!firstTime){
  localstorage.setItem('key','loaded')
  location.reload()
 }else {
   localStorage.removeItem('key') 
 }
}


0 commentaires

0
votes

Vous devez enregistrer (par exemple) "ischargé avant" Boolean dans une variable et vérifiez-le avant de recharger votre page. Mais une variable qui conserve les données après la page rechargée! (pas ceux locaux) de
localStorage code> est un bon choix:

function reloadIfNecessary() {
var isLoadedBefore = localstorage.getItem("IsLoadedBefore");
if(isLoadedBefore=="true")
   return;
}
else {
localstorage.setItem("IsLoadedBefore",true);
/*use your reload method*/
})


0 commentaires