web前端Vue报错:Uncaught (in promise) TypeError:Cannot read properties of nu解决
前言
最近在写vue项目 在写自定义分页器的时候报了一个异常 知道错误却一直找不到解决方案
苦思冥想后 还是js的基础语法不扎实导致的,在此记录一下解决方案和思路
为以后的bug解决之路打下基础
错误提示
错误内容Uncaught (in promise) TypeError: Cannot read properties of null (reading 'length')
错误截图如下:
BUG分析
此bug大概是说我写的一句语法,它没有找到length
这个方法
我们都知道java
中只有集合和数组才有size和length
这种方法
在vue语法中也同样支持数组语法,既然它说找不到那就是,这不是一个数字结构!
下面是我代码中的源代码
<div v-if="item.disease.length > 4 ? true:false">
<a style="pointer-events: none; color: #C8DBF2;"
@click="addDisease(item,index)">+添加症状</a> </div>
问题就出在item.disease.length > 4 ? true:false
这句三目表达式上
item.disease
可能不是一个数组,比如item.disease这个对象为空
这样一来item.disease
就没有.length
这个方法了…
BUG解决
根据上述的分析,我们可以多加一层判断
先判空再写三目表达式,语法我们改为下面这样子 先判空 item.disease!=null
<div v-if="item.disease!=null && item.disease.length > 4 ? true:false">
<a style="pointer-events: none; color: #C8DBF2;"
@click="addDisease(item,index)">+添加症状</a>
如此这个分页器就完成了 没bug了~
总结
到此这篇关于web前端Vue报错:Uncaught (in promise) TypeError:Cannot read properties of nu解决的文章就介绍到这了,更多相关Vue报错:Uncaught (in promise) TypeError内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341