请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

state.playHistory.map is not a function

图片描述

cache.js
图片描述

state.js

图片描述

add-song.vue

图片描述

player.vue : 图片描述

getters.js 按照源码 改成这样,不管用。
export const playHistory = (state) => {
// console.log(‘playHistory:’,state.playHistory);
return state.playHistory.map((song) => {
return new Song(song)
})
}

对照老师的源码,找不到哪里出了问题,打印出来的 playHistory 也是一个数组。为什么这里会报错。。。。。。问题可能会出现在哪里?

正在回答 回答被采纳积分+3

插入代码

1回答

ustbhuangyi 2018-10-06 21:25:17

建议你加一个 debugger,单步调试

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_爱非坚持_0 #1
    老师,我把getters.js 里面的改成这样,然后控制台就提示  
    vue.esm.js?efeb:591 [Vue warn]: Invalid prop: type check failed for prop "data". Expected Array, got Object.
    
    vue.esm.js?efeb:591 [Vue warn]: Invalid prop: type check failed for prop "songs". Expected Array, got Object.
    
    但我看了一下,playHistory 传入的是一个数组 
    export const playHistory = (state) => {
        // console.log('playHistory:',state.playHistory);
        // return state.playHistory.map((song) => {
        //     console.log('song:',new Song(song));
        //     return new Song(song)
        // })
        console.log( (state.playHistory) instanceof  Array); // true
        return state.playHistory;
    }
    
    
    控制台不报错,但是最近播放列表  全是undefined  。。  提示data 和songs 传入的数据类型不对。。 问题出现在哪?
    回复 有任何疑惑可以回复我~ 2018-10-07 10:02:13
  • 提问者 qq_爱非坚持_0 #2
    这为什么写的一点格式都没了。。。。。。
    回复 有任何疑惑可以回复我~ 2018-10-07 10:03:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信