我尝试使用 Vuex 来存储用户在我的应用程序中选择的信息,但是一旦我重新加载页面,它就消失了。然后我开始使用 Cookies、js-cookie 和它的作品完美。我觉得那肯定是坏事,如果你可以使用 cookie,为什么还要使用 vuex?我没有发现使用 cookie 有任何问题,但总感觉这一定是坏事。
当您需要收集信息并且在重新加载页面时不会消失时,哪种方式最好?
我尝试使用 Vuex 来存储用户在我的应用程序中选择的信息,但是一旦我重新加载页面,它就消失了。然后我开始使用 Cookies、js-cookie 和它的作品完美。我觉得那肯定是坏事,如果你可以使用 cookie,为什么还要使用 vuex?我没有发现使用 cookie 有任何问题,但总感觉这一定是坏事。
当您需要收集信息并且在重新加载页面时不会消失时,哪种方式最好?
Vuex 是一种内存存储。一旦页面重新加载,它就会被清除。您需要更持久的存储。有几个选项,localstorage、sessionstorage、cookie 和 indexedDB。
Cookie 与您向服务器发出的每个请求一起发送。这对您或您想要的可能不是必需的。
本地存储应该做得很好。
查看在 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;
}
}
});