【问题标题】:TS7006: Parameter 'event' implicitly has an 'any' typeTS7006:参数“事件”隐式具有“任何”类型
【发布时间】:2023-03-08 11:30:01
【问题描述】:

角度来说,

这是脚本

<button (click)="onClick($event)"> Greet </button>
     <button (click)="greeting='welcome' "> Greet </button> 
     {{greeting}}

这是事件逻辑

public greeting =""; 
 onClick(event) {
    console.log(event);
   this.greeting ='welcome';
  }

【问题讨论】:

  • onClick(event: any) { ... } 你需要显式输入事件参数

标签: javascript angular typescript user-interface


【解决方案1】:

您可以使用的一些替代方案:

onClick(event: Event) {}

onClick(event: MouseEvent) {}

另外,如果你不使用任何参数事件,你可以删除它。

onClick() { ... }

【讨论】:

    【解决方案2】:

    原因:如果您在创建新项目时有机会在以前的版本中使用 Angular,您可能会看到类似这样的问题。这个问题非常重要。

    修复: 您可以遵循更严格的类型检查规则,也可以手动将更严格的类型检查切换为 false。它对我有用。

    【讨论】:

      【解决方案3】:

      点击控制台上的那个按钮,我们可以看到PoinerEvent { isTrusted": true }

      所以除了MouseEventEvent 你还可以使用:

      onClick(event: PointerEvent) {}
      

      查看PointerEvent MDN 的文档。 "这个接口继承了 MouseEvent 和 Event 的属性。"

      【讨论】:

        猜你喜欢
        • 2020-02-02
        • 2017-08-21
        • 2020-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多