web前端全系列 教程
1839个小节阅读:2244k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在处理原生 DOM 事件时,应该为我们传递给事件处理函数的参数正确地标注类型
xxxxxxxxxx
<template>
<button @click="clickHandler">按钮</button>
</template>
<script setup lang="ts">
// `event` 隐式地标注为 `any` 类型
const clickHandler = (event) =>{
console.log(event)
}
</script>
没有类型标注时,这个 event
参数会隐式地标注为 any
类型。这也会在 tsconfig.json
中配置了 "strict": true
或 "noImplicitAny": true
时报出一个 TS 错误。因此,建议显式地为事件处理函数的参数标注类型
xxxxxxxxxx
<template>
<button @click="clickHandler">按钮</button>
</template>
<script setup lang="ts">
// `event` 隐式地标注为 `any` 类型
const clickHandler = (event:Event) =>{
console.log(event)
}
</script>
此外,你可能需要显式地强制转换 event
上的属性
xxxxxxxxxx
<template>
<input type="text" @input="inputHandler">
</template>
<script setup lang="ts">
const inputHandler = (event:Event) =>{
console.log((event.target as HTMLInputElement).value)
}
</script>
事件传递参数
xxxxxxxxxx
<template>
<button @click="clickHandler('message',$event)">按钮</button>
</template>
<script setup lang="ts">
const clickHandler = (data:String,event:Event) =>{
console.log(data,event)
}
</script>