VUE中出现 Cannot read property 'length' of undefined 的错误

**

报错 Cannot read property ‘length’ of undefined 时解决方案

**

在做项目是遇到了length的报错

在做项目时遇到了length的报错。但是不影响其他东西,只是看着飘一片红感觉很难受。

在这里插入图片描述

查找了一下发现出现的原因
其实是因为,后台在返回数据时是需要时间的 不管多快 都是需要时间的 但是在初始化时,并没有给一个空的数组 注意 是数组形式 所以当调用 .length 方法时 这时后台数据还没有返回回来 此时它不是数组 就会报错

解决方案

可以在整体加一个 v-if
这样当数据还没有返回时 就不会渲染 只有数据返回回来时 才会进行渲染
这样就会解决报错的问题

代码如下 代码片.

<div class="main" v-if="book.items">
 <div class="img-list" 
   v-for="list in book.items.length > 5? book.items.slice(1, 4): book.items "
   v-bind:key="list.id">
   <div class="new-img">
     <img :src="imageUrl(list)" alt="">
     <h1 class="title">{{list.title}}</h1>
   </div>
 </div>

这样就解决啦!

友情提示 报错时 看到Error in render 的问题 其实都是渲染问题噢
在这里插入图片描述

以上只是我个人的理解与解决方案 如果有错误 欢迎指出 本人前端小白一枚 努力在前端道路上越走越远 这是我的第一篇博客 撒花?

出现 Cannot read property 'length' of undefined错误时,通常是因为在代码尝试读取一个未定义的变量的 length 属性。这意味着该变量不存在或未被正确初始化。要解决这个问题,可以采取以下几个解决方案。 1. 确保变量已经被正确定义和初始化。检查代码是否存在拼写错误或逻辑错误,导致变量未被正确赋值。 2. 使用条件语句或 null 检查来确保变量存在。在尝试读取变量的 length 属性之前,先使用 if 语句或条件运算符来检查变量是否存在。例如,可以使用以下代码来检查变量是否为 undefined: ``` if (variable !== undefined) { // 在这里使用变量的 length 属性 } ``` 3. 确保变量是一个数组。如果变量应该是一个数组,但是出现undefined,可以使用 Array.isArray() 方法来验证变量是否为数组。例如,可以使用以下代码来检查变量是否为数组: ``` if (Array.isArray(variable)) { // 在这里使用变量的 length 属性 } ``` 请根据具体情况选择适合的解决方案来修复该错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [VUE出现 Cannot read property 'length' of undefined错误](https://blog.csdn.net/xiaozhuge_S/article/details/90665200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [微信小程序-微信小应用-小程序-demo-仿芒果TV](https://download.csdn.net/download/weixin_39841882/11474671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值