Registra un error en el uso de mutaciones vuex

Use mutaciones en vuex para cambiar el valor del estado global en el estado, pero los datos obtenidos son indefinidos,
al principio se utilizó este método de asignación.

this.$store.commit('currentSongInfo', res.data.songs[0].name, res.data.songs[0].ar[0].name, res.data.songs[0].al.name, res.data.songs[0].al.picUrl)
mutations: {
    
    
    currentSongId (state, id) {
    
    
      state.songId = id
    },
    currentSongInfo (state, songName, artists, albumName, picUrl) {
    
    
      state.songInfo.artists = artists
      state.songInfo.songName = songName
      state.songInfo.albumName = albumName
      state.songInfo.picUrl = picUrl
    }
  },

Los datos siempre están vacíos

Más tarde descubrió que las mutaciones solo pueden pasar un único parámetro, por lo que los datos se pasan en un objeto

this.$store.commit('currentSongInfo', {
    
    songName: res.data.songs[0].name, artists: res.data.songs[0].ar[0].name, albumName: res.data.songs[0].al.name, picUrl: res.data.songs[0].al.picUrl})
mutations: {
    
    
    currentSongId (state, id) {
    
    
      state.songId = id
    },
    currentSongInfo (state, info) {
    
    
      state.songInfo.artists = info.artists
      state.songInfo.songName = info.songName
      state.songInfo.albumName = info.albumName
      state.songInfo.picUrl = info.picUrl
    }
  },

Puedes obtener los datos

Supongo que te gusta

Origin blog.csdn.net/weixin_43276017/article/details/110233377
Recomendado
Clasificación