不能将类型“() => void”分配给类型“MouseEvent”。

2 篇文章 0 订阅
2 篇文章 0 订阅

vite + ts最新 

 用vite+ts在@click、:style等会出现(报错)标红,不影响使用,但看着难受。

可以尝试这样写:

 其它类似的也一样。相当于将函数绑定成一个变量或者常量。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是因为你试图将一个函数类型赋值给一个事件处理程序,但它们的类型不匹配。可能的原因有: 1. 函数参数类型不正确:请确保你的函数参数与事件处理程序所期望的参数类型相匹配。例如,如果你想将一个函数作为 click 事件处理程序,它应该接受一个 MouseEvent 类型的参数。 2. 函数返回类型不正确:请确保你的函数返回类型与事件处理程序所期望的返回类型相匹配。通常,事件处理程序不需要返回值,因此你的函数应该返回 void。 3. 函数本身不是有效的事件处理程序:请确保你的函数实际上是有效的事件处理程序,它应该能够处理特定的事件类型。如果你试图将一个不相关的函数分配给一个事件处理程序,那么你会得到这个错误。 例如,以下代码会导致这个错误: ```typescript // 错误示例 function handleClick() { console.log('Clicked!'); } const button = document.querySelector('button'); button.addEventListener('click', handleClick); // 错误:不能类型“Function”分配类型“(event: MouseEvent) => void” ``` 要解决这个问题,你可以将 handleClick 函数更改为接受一个 MouseEvent 参数,或者将其更改为返回 void。或者,你可以使用一个匿名函数来作为事件处理程序,以确保它具有正确的类型: ```typescript // 解决示例 function handleClick(event: MouseEvent) { console.log('Clicked!'); } const button = document.querySelector('button'); button.addEventListener('click', (event: MouseEvent) => handleClick(event)); ``` 这样,匿名函数就会接受正确的参数类型,并将其传递给 handleClick 函数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值