Vscode-ng-language-service: Indexwert ist kein Zahlenfehler in der Vorlage

Erstellt am 27. Nov. 2019  ·  5Kommentare  ·  Quelle: angular/vscode-ng-language-service

Beschreibe den Fehler

Der Anzeigefehler für den Indexwert von ngFor ist kein numerischer Wert.

(variable) i
Expected a numeric typeng(0)

Fortpflanzen

Schritte zum Reproduzieren des Verhaltens:

  1. Gehe zu '...'
  2. Klicke auf '....'
  3. Scrollen Sie nach unten zu '....'
  4. Siehe Fehler

Erwartetes Verhalten

Eine klare und prägnante Beschreibung dessen, was Sie erwartet haben.

Protokolle

Bitte fügen Sie zwei Protokolle bei:

  1. Konsolenausgabe (Gehen Sie zur Symbolleiste --> Ansicht --> Ausgabe und kopieren Sie den Inhalt)
  2. Protokolldatei (Pfad wird beim Start zur Konsolenausgabe ausgegeben)

Screenshots

Fügen Sie gegebenenfalls Screenshots hinzu, um Ihr Problem zu erklären.

image

Zusätzlicher Kontext

Fügen Sie hier jeden weiteren Kontext zu dem Problem hinzu.

bug

Hilfreichster Kommentar

in meinem Fall heißt es:

Expected a number type ng(0)

für folgenden Code

<div *ngFor="let file of files; let i = index;">
   <p>File #{{i+1}}: {{file.name}}</p>
</div>
....

Alle 5 Kommentare

Ich erhalte dieselbe Art von Fehler für die *ngIf-Prüfung. Das habe ich vorher nicht bekommen
Capturess

Ich erhalte den gleichen Fehler, wenn ich die Indexvariable von einem ngFor interpoliere und versuche, eine Zahl hinzuzufügen. Zum Beispiel:

<ng-container *ngFor="let item of items; index as i">

{{i + 1}} <-- Error

</ng-container>

Mir ist aufgefallen, dass der Fehler nicht angezeigt wird, wenn die keyvalue Pipe in der ngFor Deklaration verwendet wird. Zum Beispiel:

<ng-container *ngFor="let item of items | keyvalue; index as i">

{{i + 1}} <-- No Error

</ng-container>

Gleicher Fehler hier und irgendwie ist das neu nach einem VS Code Update und vielleicht einem Update von "Angular Language Service". Ich habe mich gefragt, weil dies alter Code war, der jetzt diesen Fehler auslöst, aber gut funktioniert und erstellt wird.

<div *ngFor="let product of productItems; let i = index">
      <div *ngIf="i % 3 === 0 " class="card-deck mt-2">
        <div class="card" *ngFor="let item of productItems.slice(i,i+3)">
...

Die Variable "i" in den Zeilen 2 und 3 wird als Fehler "Erwartet einen numerischen Typ ng(0)" markiert.

in meinem Fall heißt es:

Expected a number type ng(0)

für folgenden Code

<div *ngFor="let file of files; let i = index;">
   <p>File #{{i+1}}: {{file.name}}</p>
</div>
....

Dieses Problem wurde aufgrund von Inaktivität automatisch gesperrt.
Bitte reichen Sie ein neues Problem ein, wenn Sie auf ein ähnliches oder verwandtes Problem stoßen.

Lesen Sie mehr über unsere Richtlinie zum automatischen Sperren von Konversationen .

_Diese Aktion wurde automatisch von einem Bot ausgeführt._

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen