index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // 该文件用于创建Vuex中最为核心的store
  2. // 引入Vue
  3. import Vue from 'vue'
  4. // 引入vuex
  5. import Vuex from 'vuex'
  6. // 应用Vuex插件
  7. Vue.use(Vuex)
  8. // 准备actions——用于响应组件中的动作
  9. const actions = {
  10. // jia(context,value){
  11. // // console.log('actions中的jia被调用了',context,value)
  12. // context.commit('JIA',value)
  13. // },
  14. // jian(context,value){
  15. // context.commit('JIAN',value)
  16. // },
  17. jiaOdd(context,value){
  18. if(context.state.sum % 2){
  19. context.commit('JIA',value)
  20. }
  21. },
  22. jiaWait(context,value){
  23. setTimeout(() => {
  24. context.commit('JIA',value)
  25. }, 500);
  26. },
  27. }
  28. // 准备mutations——用于操作数据(state)
  29. const mutations = {
  30. JIA(state,value){
  31. // console.log('mutations中的JIA被调用了',state,value)
  32. state.sum += value
  33. },
  34. JIAN(state,value){
  35. state.sum -= value
  36. }
  37. }
  38. // 准备state——用于存储数据
  39. const state = {
  40. sum:0, //当前的和
  41. school:'尚硅谷',
  42. subject:'前端'
  43. }
  44. // 准备getters——用于将state中的数据进行加工
  45. const getters = {
  46. bigSum(state){
  47. return state.sum*10
  48. }
  49. }
  50. // 创建并暴露store
  51. export default new Vuex.Store({
  52. actions,
  53. mutations,
  54. state,
  55. getters
  56. })