index.js 1.2 KB

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