Ce diagnostic détecte les fonctions non appelées dans les event bindings.
import {Component, signal, Signal} from '@angular/core';
@Component({
template: `<button (click)="onClick">Click me</button>`,
})
class MyComponent {
onClick() {
console.log('clicked');
}
}
Quel est le problème ?
Les fonctions utilisées dans les event bindings doivent être appelées lorsque l'événement se déclenche. Si la fonction n'est pas appelée, elle ne s'exécutera pas lorsque l'événement se déclenchera.
Que faire à la place ?
Veillez à appeler la fonction lorsque vous l'utilisez dans un event binding, afin qu'elle s'exécute lorsque l'événement se déclenche.
import {Component} from '@angular/core';
@Component({
template: `<button (click)="onClick()">Click me</button>`,
})
class MyComponent {
onClick() {
console.log('clicked');
}
}
Prérequis de configuration
strictTemplates doit être activé pour qu'un diagnostic étendu soit émis.
uninvokedFunctionInEventBinding n'a pas d'autre prérequis que strictTemplates.
Et si je ne peux pas l'éviter ?
Ce diagnostic peut être désactivé en modifiant le fichier tsconfig.json du projet :
{
"angularCompilerOptions": {
"extendedDiagnostics": {
"checks": {
"uninvokedFunctionInEventBinding": "suppress"
}
}
}
}
Consultez la configuration des diagnostics étendus pour en savoir plus.