import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
my_property: 47
},
getters: {
getMyProperty: state => {
return state.my_property;
}
},
mutations: {
setMyProperty: ( state, payload ) => {
state.my_property = payload;
}
},
actions: {
doChangeMyProperty: ( context, payload ) => {
context.commit('setMyProperty', payload);
},
doAsyncChangeMyProperty: ( { commit }, payload ) => {
// Using a timeout, but any async operation can go here
setTimeout(function () {
commit('setMyProperty', payload);
}, 1000);
}
}
});