index.js 505 B

12345678910111213141516171819202122232425
  1. import Vuex from 'vuex'
  2. const createStore = () => {
  3. return new Vuex.Store({
  4. state: {
  5. headlines: []
  6. },
  7. mutations: {
  8. setHeadLines (state, headlines) {
  9. state.headlines = headlines
  10. }
  11. },
  12. actions: {
  13. async loadHeadLines ({ commit }, apiUrl) {
  14. const { articles } = await this.$axios.$get(apiUrl)
  15. commit('setHeadLines', articles)
  16. }
  17. },
  18. getters: {
  19. headlines: state => state.headlines
  20. }
  21. })
  22. }
  23. export default createStore