You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 10:34:53