0
私は、データのユーザ状態を維持するためにvuexモジュールを作成しました。それは次のようになります。Vue/Vuex - 状態データを保存しない
import Vue from "vue";
export default {
namespaced: true,
state: {
data: {},
meta: {}
},
mutations: {
setInitialUserData: function(user){
state.data = user;
},
setUserMeta: function(meta){
state.meta = meta;
},
},
actions: {
setInitialData: function({commit}, user){
console.log(user);
commit('setInitialUserData', user.user);
commit('setUserMeta', user.userMeta);
},
},
getters: {
getUser: (state) => state.data,
getUserMeta: (state) => state.meta
}
}
私はこのような私のコンポーネントでログイン時にデータを保存しようとしています:
this.$backend.post('/user/login', null, payload)
.then(response => {
this.$store.dispatch('auth/login', response.data.token);
this.$store.dispatch('user/setInitialData', response.data.user);
//this.$router.push('intranet');
})
.catch(error => {
//console.log(error);
});
}
私はここに来るデータ:
setInitialData: function({commit}, user){
console.log(user);
commit('setInitialUserData', user.user);
commit('setUserMeta', user.userMeta);
},
},
は次のようになりますこれは:
"user": {
"name": "John Doe",
"nice_name": "John",
"login_name": "John",
"email": "[email protected]"
},
"userMeta": {
"department": "Administrasjon",
"region": "Oslo",
"industry": "Bane"
},
user:Object
data:Object (empty)
meta:Object (empty)
私のためにうまく動作します:https://jsfiddle.net/yLmgL8gf/16/問題の再現を手助けできますか? – Wouter
私は突然変異に状態を渡していませんでした。それはなぜ機能しなかったのですか、それを忘れました。今はうまくいきます。 – Leff
ああ、フィドルを作成するときに欠落している状態を修正したのを覚えていますが、修正/問題として登録していませんでした:lとにかく問題を解決する答えを書きます。 – Wouter