category.js 807 B

12345678910111213141516171819202122232425262728293031323334
  1. export const state = () => ({
  2. items: []
  3. })
  4. export const getters = {
  5. hasCategories(state) {
  6. return state.items.length > 0
  7. }
  8. }
  9. export const actions = {
  10. async fetchCategories({state, commit, getters}) {
  11. if (getters.hasCategories) return
  12. try{
  13. console.log('category.js action call fetchCategories')
  14. const categories = await this.$axios.$get('/api/v1/categories')
  15. console.log('category.js action done fetchCategories', categories)
  16. console.log('category.js mutations call setCategories')
  17. commit('setCategories', categories)
  18. console.log('category.js mutations done setCategories')
  19. return state.items
  20. }catch(error){
  21. return error
  22. }
  23. }
  24. }
  25. export const mutations = {
  26. setCategories(state, categories) {
  27. state.items = categories
  28. }
  29. }