TS之 对象可能为“未定义”,不能将类型“ XXXX | undefined “分配给类型{ xxxx }

 1、Vue3 结合 TS 获取 HTMLElement 时报“未定义”

简单粗暴的处理就是在后面加一个【 ! 】感叹号,告诉 TS 引擎此元素存在,有点类似于 as xxx 的意思!

 2、使用声明的可选属性时,报“未定义”

使用 TS 我们经常会声明一些泛型,但是泛型里的属性并不是所有属性都必须要有,这个时候用到这个泛型可选属性的时候就会警告,可以通过以下两种方法解决:

  1. 使用可选操作符 ?. 的方式,已经确定当前值有可能为空的情况下使用

        2.使用 as 类型 进行类型断言, 确定当前属性一点会有值时,也可以使用这种方式                    

 3、API 赋值,不能将类型" XXXX | undefined "分配给类型{ xxxx }

如果我们这么写:

list.value = res!.data;

我们会发现还是会报错,主要是 res.data 整体可能都为 undefined,所以我们还可以用 感叹号 来解决

list.value = res.data! ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值