我在 Vue 中构建了一个应用程序。我需要存储信息供以后使用,使用js-cookie是不是一个好方法?
I build a app in Vue. I need to store information for later use, is it a good way to use js-cookie?
我曾尝试使用 Vuex 来存储用户在我的应用程序中选择的信息,但是我重新加载页面后它就消失了。然后我开始使用 Cookies、js-cookie 及其完美的作品。我觉得这一定是不好的地方,如果你只能使用 cookie,你为什么要使用 vuex?
我没有发现使用 cookie 有任何问题,但总感觉它有一些不好的地方。
当您需要收集信息并且在重新加载页面时信息不会消失时最好采用哪种方式?
Vuex 是一种内存存储。一旦页面重新加载,它就会被清除。您想要更持久的存储。有几个选项,localstorage、sessionstorage、cookie和indexedDB。
Cookie 随您向服务器发出的每个请求一起发送。这对您或您想要的可能不是必需的。
Localstorage 应该没问题。
查看在 Vuex 和本地存储之间同步的 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;
}
}
});
我曾尝试使用 Vuex 来存储用户在我的应用程序中选择的信息,但是我重新加载页面后它就消失了。然后我开始使用 Cookies、js-cookie 及其完美的作品。我觉得这一定是不好的地方,如果你只能使用 cookie,你为什么要使用 vuex? 我没有发现使用 cookie 有任何问题,但总感觉它有一些不好的地方。
当您需要收集信息并且在重新加载页面时信息不会消失时最好采用哪种方式?
Vuex 是一种内存存储。一旦页面重新加载,它就会被清除。您想要更持久的存储。有几个选项,localstorage、sessionstorage、cookie和indexedDB。
Cookie 随您向服务器发出的每个请求一起发送。这对您或您想要的可能不是必需的。
Localstorage 应该没问题。
查看在 Vuex 和本地存储之间同步的 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;
}
}
});