Genişletilmiş Tanılamalar

Bir *ngFor ifadesinde eksik let anahtar kelimesi

Bu tanılama, *ngFor içinde kullanılan bir ifadede let anahtar kelimesinin eksik olduğu durumlarda verilir.

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

@Component({
  // The `let` keyword is missing in the `*ngFor` expression.
  template: `<div *ngFor="item of items">{{ item }}</div>`,
})
class MyComponent {
  items = [1, 2, 3];
}

Bunda ne yanlış?

Eksik bir let, *ngFor dizesindeki bir sözdizimi hatasını gösterir. Ayrıca item'ın kapsama düzgün şekilde alınamayacağı ve {{ item }}'ın doğru şekilde çözümlenmeyeceği anlamına gelir.

Bunun yerine ne yapmalıyım?

Eksik let anahtar kelimesini ekleyin.

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

@Component({
  // The `let` keyword is now present in the `*ngFor` expression,
  // no diagnostic messages are emitted in this case.
  template: `<div *ngFor="let item of items">{{ item }}</div>`,
})
class MyComponent {
  items = [1, 2, 3];
}

Yapılandırma gereksinimleri

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

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