vuex-asr
Version:
* Version: 0.7.52 * License M.I.T. * [Online Documentation](https://vuex-asr.github.io/vuex-asr/) * author: Joris Wenting * email: vuex.asr@gmail.com * [linkedIn](https://www.linkedin.com/in/joriswenting/). * [contribute](https://vuex-asr.github.io/vuex-a
60 lines (57 loc) • 1.35 kB
JavaScript
import Vue from "vue";
import Vuex from "vuex";
import { ModuleGeneral } from "./modules/module-general";
import { ModuleUser } from "./modules/module-user";
import { ModulePhotos } from "./modules/module-photos";
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
GENERAL: ModuleGeneral,
USER: ModuleUser,
PHOTOS: ModulePhotos
},
state: {
message: "message in the root of the store",
anotherMessage: "another message in the root of the store",
messageConfig: [
{
binderType: "state",
bind: "message"
},
{
binderType: "actions",
bind: "setMessageAsync",
alias: "setMessage"
},
{
binderType: "getters",
bind: "messageCapitalized",
alias: "anotherMessage"
},
{
binderType: "state",
namespace: "USER/SETTINGS",
bind: "message",
alias: "userSettingsMessage"
}
]
},
getters: {
messageCapitalized: state => {
return state.message.toUpperCase();
}
},
mutations: {
setMessage(state, message) {
console.log("message was mutated with", message);
state.message = message;
}
},
actions: {
setMessageAsync({ commit }, event) {
setTimeout(() => {
commit("setMessage", event.target.value);
}, 100);
}
}
});