我曾尝试使用Vuex存储用户在我的应用程序中选择的信息,但是一旦我重新加载页面就消失了。然后我开始使用Cookies,js-cookie,它的作品非常完美。我觉得这样做有点糟糕,为什么你会使用vuex如果你可以使用cookie?我没有发现使用cookie的任何问题,但感觉在某种程度上它必须是不好的。
当你需要收集信息而没有它在你重新加载页面时消失时,哪种方式最好?
Vuex是一种内存存储。一旦页面重新加载,它就会被清除。您想要一个更持久的存储。有几个选项,localstorage,sessionstorage,cookie和indexedDB。
Cookie会随您向服务器发出的每个请求一起发送。这可能不是你或你想要的。
Localstorage应该没问题。
查看在Vuex和localstorage之间同步的vuex-persistedstate。
https://github.com/robinvdvleuten/vuex-persistedstate
这可能是你想要使用的。
这是https://vuejs.org/v2/cookbook/client-side-storage.html本地存储的一个例子。即使您关闭会话,这也将存储您的汽车名称。
<div id="app">
My car <input v-model="carName">
</div>
const app = new Vue({
el: '#app',
data: {
carName: '',
},
mounted() {
if (localStorage.carName) {
this.carName = localStorage.carName;
}
},
watch: {
name(newName) {
localStorage.carName = carName;
}
}
});