Genişletilmiş Tanılamalar

Sinyaller şablon interpolasyonlarında çağrılmalıdır.

Bu tanılama, şablon interpolasyonlarında çağrılmamış sinyalleri tespit eder.

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

@Component({
  template: `<div>{{ mySignal }}</div>`,
})
class MyComponent {
  mySignal: Signal<number> = signal(0);
}

Bunda ne yanlış?

Angular Sinyalleri sıfır argümanlı fonksiyonlardır (() => T). Çalıştırıldığında, sinyalin mevcut değerini döndürürler. Bu, değerlerini oluşturmak için şablon interpolasyonlarında kullanıldığında çağrılmaları gerektiği anlamına gelir.

Bunun yerine ne yapmalıyım?

Değerini oluşturmak için bir şablon interpolasyonu içinde kullandığınızda sinyali çağırdığınızdan emin olun.

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

@Component({
  template: `<div>{{ mySignal() }}</div>`,
})
class MyComponent {
  mySignal: Signal<number> = signal(0);
}

Yapılandırma gereksinimleri

Herhangi bir genişletilmiş tanılamanın verilmesi için strictTemplates etkinleştirilmelidir. interpolatedSignalNotInvoked, 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": {
        "interpolatedSignalNotInvoked": "suppress"
      }
    }
  }
}

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