gpt4 book ai didi

javascript - 如何保留用户名登录 vue.js

转载 作者:搜寻专家 更新时间:2023-10-30 22:23:34 24 4
gpt4 key购买 nike

我试图存储登录我的应用程序的用户。我正在使用 store.js 文件来使用 vuex 并保存我的变量。

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'
import Cookies from 'js-cookie'


Vue.use(Vuex)

export const store = new Vuex.Store({
state: {
userloged: ''
}
})

我在我的 main.js 上声明了 store 变量,我以这种方式使用,当我在我使用的登录组件中保存用户名时,

        this.$store.state.userloged = this.username;

当我要在其他组件中使用时,我以这种方式获得了它,

 computed:{
userloged() {
return this.$store.state.userloged;
}
},

但是如果我刷新页面,我就会丢失信息。我能做什么?

最佳答案

您应该使用 'vuex-persistedstate' 将 Vuex 状态持久化到 localStorage。

您应该通过突变和分派(dispatch)操作来更新状态,重新定义您的 vuex 实例以包含以下对象:

import createPersistedState from 'vuex-persistedstate';

const store = new Vuex.Store({
state: {
userlogged: ''
},
mutations: {
saveUserLogged (state, loggedUser) {
state.userLogged = loggedUser
}
},
actions: {
saveUserLogged (context, loggedUser) {
context.commit('saveUserLogged', loggedUser)
}
},
plugins: [createPersistedState()]
})

因此,为了保存已登录的用户,您应该发送一个操作:

this.$store.dispatch('saveUserLogged', this.username);

您可以在 Vuex official site 中了解有关突变和操作的更多信息

请看这个例子https://codesandbox.io/s/0yy7vk29kv

关于javascript - 如何保留用户名登录 vue.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com