Genişletilmiş Tanılamalar

Fonksiyonlar olay bağlamalarında çağrılmalıdır.

Bu tanılama, olay bağlamalarında çağrılmamış fonksiyonları tespit eder.

import {Component, signal, Signal} from '@angular/core';

@Component({
  template: `<button (click)="(onClick)">Click me</button>`,
})
class MyComponent {
  onClick() {
    console.log('clicked');
  }
}

Bunda ne yanlış?

Olay bağlamalarındaki fonksiyonlar, olay tetiklendiğinde çağrılmalıdır. Fonksiyon çağrılmazsa, olay tetiklendiğinde çalışmaz.

Bunun yerine ne yapmalıyım?

Olay tetiklendiğinde fonksiyonun çalışması için bir olay bağlamasında kullandığınızda fonksiyonu çağırdığınızdan emin olun.

import {Component} from '@angular/core';

@Component({
  template: `<button (click)="onClick()">Click me</button>`,
})
class MyComponent {
  onClick() {
    console.log('clicked');
  }
}

Yapılandırma gereksinimleri

Herhangi bir genişletilmiş tanılamanın verilmesi için strictTemplates etkinleştirilmelidir. uninvokedFunctionInEventBinding, strictTemplates dışında ek bir gereksinime sahip değildir.

Bunu önleyemezsem ne olur?

Bu tanılama, projenin tsconfig.json dosyası düzenlenerek devre dışı bırakılabilir:

{
  "angularCompilerOptions": {
    "extendedDiagnostics": {
      "checks": {
        "uninvokedFunctionInEventBinding": "suppress"
      }
    }
  }
}

Daha fazla bilgi için genişletilmiş tanılama yapılandırması bölümüne bakın.