Error in render: "TypeError: Cannot read property '0' of undefined"

尚硅谷外卖50课,shopHeader组件

<div class="shop-header-discounts">
      <div class="discounts-left">
        <div class="activity" :class="supportClasses[shopInfo.supports[0].type]">
          <span class="content-tag">
            <span class="mini-tag">{{shopInfo.supports[0].name}}</span>
          </span>
          <span class="activity-content ellipsis">{{shopInfo.supports[0].content}}</span>
        </div>
      </div>

错误:

Error in render: "TypeError: Cannot read property '0' of undefined"

原因是一开始渲染的时候,shopInfo为空值,之后才获取数据,所以shopInfo.support不存在。所以报错。

办法是v-if.

不可以用v-show,因为v-show只是不显示,并不是不解析。

不过两级是可以的。a为空值,a.b也可以不报错。

但是a是空值,a.b就是null,就是undefined,a.b.c就会报错

之前看过的,怎么居然忘记了……又找半天……

脑子实在是有缺陷……记忆移植了都没办法记住啊

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值