Diagnostics étendus

Les fonctions doivent être appelées dans les event bindings.

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.