web-dev-qa-db-fra.com

emplacement.reload (true) est obsolète

Je sais que ce n'est pas idéal de recharger un Angular Application à une page unique. Cependant, il y a un endroit où j'ai besoin de recharger la demande complète.

Tslint dit que la recharge est obsolète.

Y a-t-il une alternative pour cela?

55
Dilshan Liyanage

Je pense que la meilleure et la plus efficace de rafraîchir (non seulement recharger) la page utilise un formulaire avec méthode = "Post", une action vide et un bouton Soumettre, puisque les demandes "post" ne sont jamais mises en cache. Simple et efficace, et cela fonctionne même sans JavaScript!

<form action="" method="post">
    <button type="Submit">Refresh</button>
</form>

Si vous avez besoin de le faire de manière programmative, vous pouvez simplement masquer le bouton avec CSS et déclencher l'action du clic dans le bouton avec JavaScript.

Merci à @martin Schneider pour son idée.

0
OMA

Depuis window.location.reload(true) a été obsolète. Vous pouvez utiliser:

window.location.href = window.location.href,

forcer-recharger et effacer le cache.

0
antonio2924