Vuex Mutation不适用于Nuxt.js

问题描述 投票:0回答:1

vuex和nuxt的新手,所以可能有一个非常简单的解决方案。我有两个中间件,一个使用AXIOS与github进行api调用,另一个使用转换为JSON的medium.com用户的RSS源。

github变异在提交存储时工作正常,中等变异不承诺存储。

// store / index.js

export const state = () => ({
    github: [],
    medium: [],
    blog: []
  })

  export const mutations = {
    ADD_MEDIUM(state, data) {
        data.items.forEach((el) => {
            state.medium.push({
                'createdOn': el.pubDate,
                'title': el.title,
                'url': el.link
            })
        })
    },
    ADD_GITHUB(state, data) {
        if(state.github.length === 0){
            data.data.forEach((el) => {
                state.github.push({
                    'createdOn': el.created_at,
                    'title': el.full_name,
                    'url': el.html_url
                  })
            })
        }
    },

  }

// middleware / medium.js

import rssParser from 'rss-parser'
let parser = new rssParser()

export default function ({ store, route }) {
    parser.parseURL('https://medium.com/feed/@user_name')
    .then((resp) => {
        store.commit('ADD_MEDIUM', resp)
    })

}

// middleware / github.js

import axios from 'axios'

export default function ({ store, route }) {
    axios.get('https://api.github.com/users/user_name/repos')
    .then((resp) => {
        store.commit('ADD_GITHUB', resp)
    })
}
vue.js vuex nuxt.js
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.