import Vue from vue import Vuex from vuex import Axios from axios Vue

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import Vue from 'vue';
import Vuex from 'vuex';
import Axios from 'axios';
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
todos: null,
},
getters: {
TODOS: state => {
return state.todos;
},
},
mutations: {
SET_TODO: (state, payload) => {
state.todos = payload;
},
ADD_TODO: (state, payload) => {
state.todos.push(payload);
},
},
actions: {
GET_TODO: async (context, payload) => {
let {data} = await Axios.get('http://yourwebsite.com/api/todo');
context.commit('SET_TODO', data);
},
SAVE_TODO: async (context, payload) => {
let {data} = await Axios.post('http://yourwebsite.com/api/todo');
context.commit('ADD_TODO', payload);
},
},
});