Vue.js VUEJS+;VUEX每次调度操作时状态重置

Vue.js VUEJS+;VUEX每次调度操作时状态重置,vue.js,vuex,Vue.js,Vuex,每次我在vuex中分派操作时,它都会删除我的旧用户状态,并将分派操作添加到播放列表中。我不知道是什么问题,所以分享屏幕截图你们可能会在图片中明白我想说什么 问题是,当应用程序启动时,它可以使用默认值正常工作,但当我使用某个按钮或事件添加dispatch时,它会从vuex中删除用户状态对象,但会保留包含新项目的播放列表。我知道何时发送播放列表刷新vuex对象,但如何保持用户对象不变 这是我添加的动作,效果很好,但每次添加某个动作时,我都必须这样做,或者如果其他动作,我必须应用相同的动作 你知道我不

每次我在vuex中分派操作时,它都会删除我的旧用户状态,并将分派操作添加到播放列表中。我不知道是什么问题,所以分享屏幕截图你们可能会在图片中明白我想说什么

问题是,当应用程序启动时,它可以使用默认值正常工作,但当我使用某个按钮或事件添加dispatch时,它会从vuex中删除用户状态对象,但会保留包含新项目的播放列表。我知道何时发送播放列表刷新vuex对象,但如何保持用户对象不变

这是我添加的动作,效果很好,但每次添加某个动作时,我都必须这样做,或者如果其他动作,我必须应用相同的动作

你知道我不必每次都发送用户调度吗

addSongToList() {
    playlist.dispatch('addSong', { title: "Beside Me",
                    mp3: "http://dl.jatt.link/lq.jatt.link/cdn8/1a40cff114c5ee39b75dd3813c3f29dd/cdlzv/Ni%20Mainu-(Mr-Jatt.com).mp3",
                });
    store.dispatch('updateUser', this.getUser );
}
谢谢

这是我的playlist.js存储文件:

import Vuex from 'vuex'

let state = {
    playerList: []
};

let getters = {
    getPlaylist: state => {
        return state.playerList
    }
};

let actions = {
    addSong: ({commit}, song) => {
        commit('ADD_SONG_TO_PLAYLIST', song)
    }
};

let mutations = {
    ADD_SONG_TO_PLAYLIST(state, song) {
        state.playerList.push(song)
    }
};

let playlist = new Vuex.Store({
    state,
    getters,
    mutations,
    actions,
});

global.playlist = playlist;

export default playlist
这是user.js

import Vuex from 'vuex'
import playlist from './playlist'

let state = {
    user: {}
};

let getters = {
    getUser: state => {
        return state.user
    }
};

let actions = {
    updateUser: ({commit}, user) => {
        commit('ADD_USER', user)
    },
    deleteUser: ({commit}) => {
        commit('DELETE_USER')
    }
};

let mutations = {
    ADD_USER(state, user) {
        state.user = user
    },
    DELETE_USER(state) {
        state.user = null
    }
};

export default new Vuex.Store({
    state,
    getters,
    actions,
    modules: {
        playlist
    },
    mutations,
})

在官方文档中,模块被定义为简单对象,而不是整个存储。尝试替换
let playlist=new Vuex.Store({…})让playlist={…}
进行编码>并报告是否解决了问题。在官方文档中,模块定义为简单对象,而不是整个存储。尝试替换
let playlist=new Vuex.Store({…})让playlist={…}
并报告问题是否解决。