AngualrJS: maintien de données sur le rafraîchissement html

Existe-t-il une façon de charger quelques données dans un cache dans js angulaire et la sauvegarde de la page charge ces données à partir du cache et l'afficher à nouveau?

À l'heure actuelle, le problème est chaque fois que je rafraîchis la page, les détails qui ont été partagés par l'application SharedServices sont réinitialisés puisque tous les JS sont rechargés lors de la mise à jour d'une page.

J'ai une page de connexion et une page d'accueil. En cas de succès de Login, en utilisant $ route, je roule vers la page d'accueil et diffuse l'ID de connexion au contrôleur de la page d'accueil. Maintenant, lorsque je rafraîchis cette page d'accueil ou copier l'URL et la coller dans un autre onglet, je veux que les mêmes données existent. Mais dans mon cas, car les htmls / javascripts sont récupérés, ils sont initialisés comme nuls.

Toute technique angulaire disponible ici?

Jetez un oeil à cette discussion .

Pour de petites quantités de données (<= 4k), vous pouvez utiliser $ cookieStore , mais après cela, vous devrez consulter le fichier local , en gardant à l'esprit que localStorage relie votre application aux navigateurs compatibles HTML5.

Si vous ne vous occupez pas d'un petit état sur votre backend, c'est aussi une option.

EDIT basé sur le premier commentaire

Il semble que votre objectif est que, lorsque l'utilisateur accède à un rafraîchissement, la page devrait paraître s'ils ne l'ont jamais frappé. Il faudrait que vous persétiez l'état complet de votre application sur localStorage (portée, propriétés DOM, services publics) QUELQUE heure que cela change. Je ne suis pas sûr que cela soit souhaitable.

Vous pouvez vous rapprocher suffisamment pour être fonctionnel:

Développer la réponse ci-dessus:

  • Utilisez l'URL pour décrire l'état de l'application, en utilisant le service $ route d'Angular. J'ai toujours aimé cet article pour expliquer l'URL et l'état, bien que l'article soit assez spécifique à Ember.

  • En ce qui concerne l'arrêt du client de recharger vos scripts lors du rafraîchissement, il n'y a aucun moyen de le faire – le plus proche que vous venez de faire en sorte que votre serveur renvoie un code 304 (non modifié) pour ces scripts.

  • Les données de portée et l'état du service devraient persister dans le stockage local comme décrit ci-dessus.

Bien que le problème de rafraîchissement soit ennuyant, cela vous oblige à penser de façon aussi apatride que possible, et le code sans état est beaucoup plus facile à entretenir et à tester. Dans le cas où vous recherchiez une hausse 🙂