Не могу понять, как правильно работать с модулями.
Читал документацию, но все равно не могу понять.
Например, вот код хранилища:
import Vue from 'vue'
import Vuex from 'vuex'
import VueAxios from 'vue-axios'
import VueResource from 'vue-resource'
Vue.use(VueResource)
Vue.use(Vuex)
const Profile = {
state: {
login: '',
},
mutations: {
SetLogin(state, dataJsonFromProfile) {
state.login = dataJsonFromProfile.Login
}
},
actions: {
checksession(context) {
Vue.http.get('mydomain.ru/api/checksession').then(response => {
if (response.data == 'true') {
Vue.http.get('mydomain.ru/api/getuserinfo').then(response => {
var getUserInfoJson = JSON.parse(JSON.stringify(response));
var makeParseJson = JSON.parse(getUserInfoJson.bodyText);
context.commit('SetLogin', makeParseJson)
}, response => {
// error callback
});
}
}, response => {
// error callback
});
}
}
}
export const store = new Vuex.Store({
strict: process.env.NODE_ENV !== 'production',
state: {
online: 2,
ws: null,
},
actions: {
setWs({commit}, query) {
this.ws = new WebSocket(query)
this.ws.onopen = function () {
console.log('connect ws')
}
},
}
})
До того как начал разделять на модули все отлично работало.
Теперь я хочу с App.vue получить данные state с модуля Profile
created: function () {
this.$store.dispatch('checksession');
},
computed: {
login () {
return this.$store.state.login;
}
},
Actions через dispatch вызывается и проходи проверка, но вот как получить состояние понять не могу.