项目场景:
项目相关背景:
调试项目时,控制台出现红色报错信息
问题描述
问题:
调试项目时,控制台出现如下所示的报错信息:
Uncaught TypeError: Cannot read property 'snj' of null
at T.Inj.Ya [as Inj] (VM19722 EwaTS.js:683)
at T.pfg.Ya [as pfg] (VM19722 EwaTS.js:683)
at T.mVb (VM19722 EwaTS.js:700)
at T.iKi.Ya (VM19722 EwaTS.js:676)
at Object.Q [as appLoadMetricReportCallback] (VM19720 gridRenderer.min.js:3)
at e._reportMetricInternal (VM19720 gridRenderer.min.js:3)
at e._reportAppStateIfReady (VM19720 gridRenderer.min.js:3)
at e.ProcessUnusedComponentFinal (VM19720 gridRenderer.min.js:3)
at e._processSubComponentUnused (VM19720 gridRenderer.min.js:3)
at e.setSubComponentState (VM19720 gridRenderer.min.js:3)
原因分析:
问题的分析:
1、在JavaScript中,我们访问的对象是否为 null或undefined
2、访问的对象的属性,是否为 null或undefined
3、是否访问的是一个未定义的变量的属性。
4、是否访问的是一个空对象的属性。
5、是否访问的是一个不存在的对象的属性。
6、还有一个就是和我们的项目有关,
检查下自己的代码块中是否使用了el-dropdown的组件,并且和 一定要配合使用,就算 里面没有内容,也要写上。
再运行下代码,就没有报错信息了。
<el-dropdown-menu></el-dropdown-menu>
--- ---
解决方案:
解决方案:
首先我们先找到 项目中 使用 snj 的页面, 然后根据上面我们想到的 多种情况,逐渐进行一一排查,大致我们就可以锁定导致问题出现的原因了,然后 将 访问时用到的 snj 提前进行定义或赋值。