Angular中使用PointerEvent替代MouseEvent触发类型报错的问题咨询
Angular中使用PointerEvent替代MouseEvent触发类型报错的问题咨询
大家好,我最近在学习Angular的时候碰到了一个挺费解的问题,想过来请教一下各位前辈。
情况是这样的:我在组件里编写点击事件时,把$event作为参数传递到TS文件的处理方法中。实际测试发现浏览器触发的点击事件其实是PointerEvent类型,但当我把方法里的事件参数类型定义为PointerEvent时,Angular直接抛出了错误;反而把类型设为MouseEvent就能正常运行,这让我有点摸不着头脑。
以下是我的代码:
组件TS文件(counter.ts)
import { Component } from '@angular/core'; @Component({ selector: 'app-counter', imports: [], templateUrl: './counter.html', styleUrl: './counter.css' }) export class Counter { counter: number = 0; changeValue(event: PointerEvent, value: number): void { this.counter += value; } }
组件HTML文件(counter.html)
<h3>{{counter}}</h3> <button (click)="changeValue($event,1)">Increment</button> <button (click)="changeValue($event,-1)">Decrement</button>
只要把changeValue方法里的event类型改成PointerEvent,Angular就会报错,但实际浏览器中触发的事件确实是PointerEvent。有没有大佬能帮忙解释下这个矛盾的情况,以及正确的处理方式是什么呢?
内容来源于stack exchange
相关产品推荐
相关产品推荐

