vue项目中,一直报length无法使用?

作者站长头像
站长
· 阅读数 6

vue项目中,一直报length无法使用?以上是vue中会报错的代码位置,以下是报错信息vue项目中,一直报length无法使用?以下是获取allList的地方,在methods中,其中的housekeeperTypeList是在app.vue中进行存储的。vue项目中,一直报length无法使用?

出现该问题场景:是在清空缓存之后且第一次打开这个页面,就会出现报错,但是再次刷新之后则不会出现报错。我认为有可能的是获取localStorage时获取到的是null,app.vue中的请求还没执行完,这个页面就已经渲染了。

而不会报错的做法则是这样的:vue项目中,一直报length无法使用?

vue项目中,一直报length无法使用?很想知道这是为什么?生命周期?还是请求响应速度慢?大佬快来看看孩子吧^

回复
1个回答
avatar
test
2024-07-09

answer image这里最后一句this.allList = allList不应该写在这里请求是异步的,就算allList为null,发起请求的同时就直接走最后一句了你最后一句改成

if (allList instanceof Array) {
   this.allList = allList
}

或者改成

this.allList = allList || []

这样才能保证不报length的错

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容