解决报错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",
     });
}

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值