Maison interface Web Questions et réponses frontales Le projet Vue enregistre sans recharger

Le projet Vue enregistre sans recharger

May 24, 2023 am 11:34 AM

Vue.js est un framework front-end populaire qui aide les développeurs à créer plus efficacement des applications Web interactives. Lors du développement de projets à l'aide de Vue.js, nous rencontrons souvent des situations dans lesquelles nous devons sauvegarder l'état mais ne souhaitons pas le recharger. Cet article présentera quelques solutions pour atteindre cet objectif.

1. Utiliser le stockage local du navigateur

Le stockage local du navigateur fait référence au stockage des données dans le navigateur local du client afin que les données puissent être conservées lorsque la page est actualisée ou rechargée. HTML5 fournit deux fonctions : localStorage et sessionStorage. Ils peuvent stocker des données dans le navigateur local et avoir les caractéristiques suivantes :

  1. localStorage Les données stockées n'ont pas de délai d'expiration à moins que le client ne les efface manuellement.
  2. Les données stockées dans sessionStorage sont effacées à la fin de la session, c'est-à-dire lorsque la fenêtre ou l'onglet du navigateur est fermé, les données stockées sont également effacées.

Utilisez la méthode localStorage dans le projet Vue.js :

  1. Obtenir des données :
var data = localStorage.getItem('key');
Copier après la connexion
  1. Données de stockage :
localStorage.setItem('key', data);
Copier après la connexion
  1. Supprimer des données :
localStorage.removeItem('key');
Copier après la connexion

2. Utilisez Vuex

Vuex est fait pour Modèle de gestion d'état pour les applications Vue.js. Il gère de manière centralisée l'état de tous les composants d'une application et fournit des outils et des règles pour garantir que les mises à jour d'état sont cohérentes et prévisibles. En utilisant Vuex, vous pouvez stocker les données dans un état global afin qu'elles puissent être consultées et mises à jour dans toute votre application. Pour atteindre cet objectif dans un projet Vue.js, vous pouvez utiliser les étapes suivantes :

  1. Créez un fichier store.js :
import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    data: null
  },
  
  mutations: {
    setData (state, payload) {
      state.data = payload;
    }
  },
  
  actions: {
    setData ({commit}, payload) {
      commit('setData', payload);
    }
  });
Copier après la connexion
  1. Déclenchez la méthode setData() dans le composant qui doit enregistrer l'état :
this.$store.dispatch('setData', data);
Copier après la connexion
  1. En cas de besoin Dans le composant qui accède à l'état enregistré, utilisez la méthode calculée pour obtenir les données stockées :
computed: {
  userData () {
    return this.$store.state.data;
  }
}
Copier après la connexion

3. Utilisation de cookies

Le cookie est un autre moyen couramment utilisé pour enregistrer l'état côté client. Les cookies sont généralement utilisés pour stocker les informations d'authentification et d'autres préférences d'un utilisateur. Dans le projet Vue.js, l'utilisation de cookies pour stocker des données peut être réalisée en suivant les étapes suivantes :

  1. Utilisez la bibliothèque js-cookie dans le projet Vue.js :
npm install js-cookie --save
Copier après la connexion
  1. Définissez les cookies dans les composants qui doivent enregistrer l'état :
import Cookies from 'js-cookie';

Cookies.set('data', data);
Copier après la connexion
  1. State est accessible à partir de n'importe quel autre composant :
import Cookies from 'js-cookie';

var data = Cookies.get('data');
Copier après la connexion

4 Utilisation d'IndexedDB

IndexedDB est une base de données native fournie par le navigateur et peut stocker des données structurées dans le navigateur. Dans le projet Vue.js, l'utilisation d'IndexedDB peut être réalisée en suivant les étapes suivantes :

  1. Créez une base de données IndexedDB nommée myDatabase :
var request = window.indexedDB.open('myDatabase', 1);

request.onerror = function (event) {
  console.log("数据库打开失败");
};

request.onsuccess = function (event) {
  console.log("数据库打开成功!");
};
Copier après la connexion
  1. Dans le composant qui doit enregistrer l'état, stockez les données dans la base de données :
var request = window.indexedDB.open('myDatabase', 1);

request.onerror = function(event) {
  console.log("数据库打开失败");
};

request.onsuccess = function(event) {
  var db = request.result;
  var transaction = db.transaction(['data'], 'readwrite');
      
  var objectStore = transaction.objectStore('data');
  var request = objectStore.put(data, 'key');
      
  request.onerror = function(event) {
    console.log("数据写入失败");
  };
      
  request.onsuccess = function(event) {
    console.log("数据写入成功");
  };
};
Copier après la connexion
  1. Dans les composants qui doivent accéder à l'état enregistré, récupérez les données enregistrées dans la base de données :
var request = window.indexedDB.open('myDatabase', 1);

request.onerror = function(event) {
  console.log("数据库打开失败");
  };

request.onsuccess = function(event) {
  var db = request.result;
  var transaction = db.transaction(['data'], 'readonly');
      
  var objectStore = transaction.objectStore('data');
  var request = objectStore.get('key');
      
  request.onerror = function(event) {
    console.log("数据读取失败");
  };
      
  request.onsuccess = function(event) {
    console.log(request.result);
  };
}
Copier après la connexion

Résumé :

Voici quelques méthodes pour résoudre le problème de la sauvegarde de l'état sans rechargement. méthode appropriée pour mettre en œuvre les besoins du projet. Qu'il s'agisse d'utiliser le stockage local du navigateur, Vuex, les cookies ou IndexedDB, toutes sont de bonnes solutions. Cependant, il est important de noter que dans certains cas, ces méthodes peuvent ne pas convenir à un environnement d'application spécifique. Par conséquent, il est préférable d’évaluer différentes méthodes et de choisir la méthode la plus appropriée pour sauvegarder l’état sans rechargement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Expliquez le concept de chargement paresseux. Expliquez le concept de chargement paresseux. Mar 13, 2025 pm 07:47 PM

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

See all articles