解决报错Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘0‘)

其实核心判断条件的逻辑在于,我想判断这个 err.data.password1到底存不存在,存在的话就输出,不存在的话就跳过这段代码执行下一段。

原来的代码是这样的,如下。

else if (err.data.password1[0] !== '') {
  this.$message({
        message: err.data.password1[0],
        type: "error",
     });
  }

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0')

然后想了想会不会是判断条件的问题,这样写是不是不太能很好地判断err.data.password1[0]是否存在,就是说,这段代码可能不能很清晰地要表达我的意图

然后我改成了这样(正规一些,自带判断存在性质

else if (err.data.password1[0]) {
  this.$message({
        message: err.data.password1[0],
        type: "error",
     });
  }

然后也还是报同样的错,我寻思,问题出在那个‘0’上面吧

于是我再把0删掉了,相当于判断err.data.password1是否存在(这样逻辑好像更清晰,更便于判断

灵光一闪,然后代码最终被我改成了这样,成功解决报错

else if (err.data.password1) {
    this.$message({
         message: err.data.password1 ? err.data.password1[0] : "",
         type: "error",
     });
}


版权声明:本文为qq_52372698原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。