vue3 父组件调用子组件的方法时报错:XXXX does not exist on type ‘never‘

在学习Vue3并结合TypeScript进行实战时,作者遇到了两个主要问题。首先,setup中使用ref(null)初始赋值时,在setup内部直接访问为undefined,但在onMounted钩子中可以正确获取。其次,调用子组件方法时,VSCode报错提示对象不存在,通过类型断言解决。作者通过在变量声明时使用any类型或者使用as any进行强制类型转换成功调用了子组件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

才开始学习vue3+ts,进行实战就遇到一堆问题,写了一个子组件,我想在父组件里面调用它.

1.ref(null)为undefined

        首先我在setup里面进行ref(null);想打印一下有没有东西,好吧!发现真的没有东西,然后我意识到setup里面还没有挂载完,然后我把打印放到onMounted里面,获取到了

2.XXXX does not exist on type 'never'

        我数据是全部获取到了,但我调用的时候却报错,看debugger调试的确调用了方法,但页面就是报错,说null 类型没有属性,

        然后发现是vscode无法判断对象类型,于是乎,我给他增加声明断言,强制执行

//强制声明any类型
1.let {funcList }:any = lineCanvas.value;
2.(lineCanvas.value as any).createCanvas(12,11);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值