用vue 渲染数组里的数据 显示 0 没有定义

clipboard.png

clipboard.png
用vue 渲染数组里的数据 显示 0 没有定义

clipboard.png

clipboard.png

阅读 4.8k
2 个回答

推荐调整一下数据结构,也可以试试像这样给一个初始空字符串试试:

data() {
    messages: {
        content: [
            {
                album: [
                    {
                        back_img: '',
                        play_count: '',
                        name: ''
                    }
                ]
            }
        ]
    }
}

一看这个结构就头皮发麻,还不知道对不对,最好还是改一个数据结构,希望能帮助到你!

再提供一个方法,你可以试试,看行不行
v-for那一行或者上面的<div class="content">上面添加一个v-if用于判断是否未定义:

v-if="messages.content[0] != undefined"

加上这个试一试

这个问题可能是你异步请求数据没回来的问题,message[0].ablum 这个时候是undefined 所以报错

你在data里定义一个空数组ablum:[],把请求回来的值放入这个数组里,div上就遍历ablum

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题