Ts7006: Parameter 'Event' Implicitly Has an 'Any' Type

Ts7006: Parameter 'Event' Implicitly Has an 'Any' Type

In angular,

This is script

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

This is event Logic

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

4 Answers

Some alternatives you can use:

onClick(event: Event) {}

onClick(event: MouseEvent) {}

Also, if you are not using the parameter event for anything, you can remove it.

onClick() { ... }

Reason: If you have any chance to use Angular in previous versions when you create a new project you might see some question like this. And this question is very important.

Fix: You can either follow the stricter type checking rule or manually switch the stricter type checking to false. It worked for me.

0

in tsconfig.js change

"noImplicitAny": false to true or add it if it not found

On click of that button on console, we can see PoinerEvent { isTrusted": true }

So in addition to MouseEvent or Event you can also use:

onClick(event: PointerEvent) {}

Check the docs at PointerEvent MDN. "This interface inherits properties from MouseEvent and Event."

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

James H. Sterling
Author

James H. Sterling

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.