vue项目中,一直报length无法使用?
以上是vue中会报错的代码位置,以下是报错信息以下是获取allList的地方,在methods中,其中的housekeeperTypeList是在app.vue中进行存储的。
出现该问题场景:是在清空缓存之后且第一次打开这个页面,就会出现报错,但是再次刷新之后则不会出现报错。我认为有可能的是获取localStorage时获取到的是null,app.vue中的请求还没执行完,这个页面就已经渲染了。
而不会报错的做法则是这样的:
很想知道这是为什么?生命周期?还是请求响应速度慢?大佬快来看看孩子吧^
回复
1个回答
test
2024-07-09
这里最后一句this.allList = allList不应该写在这里请求是异步的,就算allList为null,发起请求的同时就直接走最后一句了你最后一句改成
if (allList instanceof Array) {
this.allList = allList
}
或者改成
this.allList = allList || []
这样才能保证不报length的错
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容