You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3渲染对象列表时出现Cannot read properties of undefined错误求助

解决Vue3中渲染对象列表时"Cannot read properties of undefined (reading 'name')"错误
  • 核心问题:v-for指令语法错误
    你的代码里<li :v-for="category in categories">这一行多了个冒号:,v-for是Vue的内置指令,不需要用v-bind(即冒号简写)来绑定。加了冒号后,Vue会把它当作普通属性解析,导致循环没有正确执行,category变量变成undefined,自然无法读取name属性。

  • 修正方法
    把:v-for改成v-for,同时建议加上:key(Vue要求v-for循环必须绑定唯一key,避免渲染异常):

    <li v-for="category in categories" :key="category.name" class="dropdown-link">
        {{ category.name }}
    </li>
    
  • 额外注意点(后续用异步数据场景)
    要是之后你的categories是通过接口异步获取的,初始值可能为空数组或undefined,这时候可以用可选链操作符?.规避报错:

    {{ category?.name }}
    

    或者先判断数组存在再渲染:

    <ul class="dropdown-content" v-if="categories">
        <li v-for="category in categories" :key="category.name" class="dropdown-link">
            {{ category.name }}
        </li>
    </ul>
    

内容的提问来源于stack exchange,提问作者Gabriel Gavrilov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:54:57