Je suis confronté à un problème stupide. Dans une application Web (ma pile est vue + vuex + vue-routeur) Je suis totalement incapable de synchroniser l'état de mon magasin avec la page affichée par l'utilisateur.Travailler avec l'API html5 history et Vue
Lorsqu'un utilisateur déclenche le bouton Précédent ou Suivant, il déclenche le même événement onpopstate
qui ne donne absolument aucune information sur la «direction» ou le nombre de pages. Seul le tableau key
dans l'objet state semble être à peine utilisable (en le sauvegardant quand on va à de nouveaux endroits et en devinant où l'utilisateur est allé onpopstate) mais je ne sais même pas où la "porte" correspond à "la clé". J'ai donc pensé à suivre manuellement la clé d'état de l'historique et à deviner où l'utilisateur se trouvait, mais je suppose que ce ne serait pas compatible, et c'est aussi un code lourd à soulever.
Voici ma question: Ai-je manqué un élément clé dans l'API html5, comment pourrais-je faire (et garder le code/logique minimaliste)?
Merci d'avance!
EDIT: rebaptisé le titre et a ajouté les informations
EDIT2: vuex-routeur-synchronisation est inappropriée car elle ne fournit que les informations d'itinéraire sur le côté vuex et fait état du routeur pas vraiment la synchronisation et de l'état du magasin ... à mauvais
PS: s'il vous plaît faire des définitions non c/p, lire attentivement, pensez
Je sais ce que signifie l'état et il est insultant juste c/p la définition, mais ce n'est pas grave. Oui, évidemment j'ai pensé utiliser l'état comme ... un état mais je veux un minimum de code/logique fonctionnant avec vue puisque j'utilise la pile complète Vue et l'état de mon application est géré par mon magasin comme indiqué dans ma question. Aussi vous avez peut-être mal lu ma question, je n'ai pas besoin de savoir où est l'utilisateur, juste ** jusqu'où il est allé ** et ** dans quelle direction **. La prochaine fois, prenez plus de temps pour vous demander "ai-je vraiment compris la question", "quelles sont les implications de la question", "puis-je y répondre". Merci. – rmNyro
Je n'ai pas mal lu la question, et il n'y avait aucune intention d'insulter. Cela ressemble plus à un problème conceptuel auquel vous faites face, et puisque votre question était «comment le feriez-vous? J'ai pensé que je donnerais un aperçu de la façon dont vous devriez penser à "état". Lorsque vous appelez 'history.pushState()' ou 'history.replaceState()', vous devez passer un objet qui référence ou remplace complètement l'état dans votre magasin, afin que la synchronisation soit simplement une recherche, plutôt qu'une sorte de calcul basé sur "jusqu'où dans quelle direction".Les applications avec état ne devraient pas se préoccuper du concept de "temps". –