* #0: add vue3 demo * #0: add router for vue3 demo in main demo * #0: update package.json * #0: update name Co-authored-by: chaunjie <chaunjie@dingtalk.com>
35 lines
708 B
JavaScript
35 lines
708 B
JavaScript
export default {
|
|
namespaced: true,
|
|
state: {
|
|
count: 0,
|
|
},
|
|
getters: {
|
|
evenOrOdd: state => (state.count % 2 === 0 ? 'even' : 'odd'),
|
|
},
|
|
mutations: {
|
|
increment(state) {
|
|
state.count++;
|
|
},
|
|
decrement(state) {
|
|
state.count--;
|
|
},
|
|
},
|
|
actions: {
|
|
increment: ({ commit }) => commit('increment'),
|
|
decrement: ({ commit }) => commit('decrement'),
|
|
incrementIfOdd({ commit, state }) {
|
|
if ((state.count + 1) % 2 === 0) {
|
|
commit('increment');
|
|
}
|
|
},
|
|
incrementAsync({ commit }) {
|
|
return new Promise(resolve => {
|
|
setTimeout(() => {
|
|
commit('increment');
|
|
resolve();
|
|
}, 1000);
|
|
});
|
|
},
|
|
},
|
|
};
|